日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android 动态矩形条,android – 从相机中动态检测不同形状(圆形,方形和矩形)?

發(fā)布時(shí)間:2024/8/5 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动态矩形条,android – 从相机中动态检测不同形状(圆形,方形和矩形)? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

更新:這個(gè)StackOverflow帖子(包含一些很好的樣本圖片)似乎至少解決了你的問(wèn)題的

circles detection部分.他指出的優(yōu)秀文章的參考資料可以在

wiki page上找到(不幸的是只能通過(guò)回程機(jī)器).

如果new link也沒有,則以下是相關(guān)部分:

檢測(cè)圖像:

有一些需要注意檢測(cè)圖像中的圓圈的小巧位.在使用cvHoughCircles(圓形檢測(cè)功能)處理圖像之前,您可能希望先將其轉(zhuǎn)換為灰色圖像并使其平滑.以下是您需要使用的函數(shù)的一般過(guò)程及其用法示例.

創(chuàng)建圖像

假設(shè)您有一個(gè)名為’img’的初始處理圖像,首先要?jiǎng)?chuàng)建一個(gè)名為’gray’的圖像變量,其尺寸與使用cvCreateImage的img相同.

IplImage* gray = cvCreateImage( cvGetSize(img), 8, 1 );

// allocate a 1 channel byte image

CvMemStorage* storage = cvCreateMemStorage(0);

IplImage* cvCreateImage(CvSize size, int depth, int channels);

size: cvSize(width,height);

depth: pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U,

IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F, IPL_DEPTH_64F

channels: Number of channels per pixel. Can be 1, 2, 3 or 4. The channels

are interleaved. The usual data layout of a color image is

b0 g0 r0 b1 g1 r1 ...

轉(zhuǎn)換為灰色

現(xiàn)在你需要使用cvCvtColor將它轉(zhuǎn)換為灰色,cvCvtColor在顏色空間之間進(jìn)行轉(zhuǎn)換.

cvCvtColor( img, gray, CV_BGR2GRAY );

cvCvtColor(src,dst,code); // src -> dst

code = CV_2

/ = RGB, BGR, GRAY, HSV, YCrCb, XYZ, Lab, Luv, HLS

e.g.: CV_BGR2GRAY, CV_BGR2HSV, CV_BGR2Lab

流暢的圖像

這樣做是為了防止檢測(cè)到許多假圓圈.您可能需要使用最后兩個(gè)參數(shù),注意它們需要乘以奇數(shù).

cvSmooth( gray, gray, CV_GAUSSIAN, 9, 9 );

// smooth it, otherwise a lot of false circles may be detected

void cvSmooth( const CvArr* src, CvArr* dst,

int smoothtype=CV_GAUSSIAN,

int param1, int param2);

SRC

>源圖像.

DST

>目標(biāo)圖像.

smoothtype

平滑的類型:

> CV_BLUR_NO_SCALE(沒有縮放的簡(jiǎn)單模糊) – 像素param1×param2鄰域的總和.如果鄰域大小不固定,可以使用cvIntegral函數(shù).

> CV_BLUR(簡(jiǎn)單模糊) – 在像素param1×param2鄰域上求和,隨后按1 /(param1?param2)縮放.

> CV_GAUSSIAN(高斯模糊) – 使用param1×param2高斯卷積圖像.

> CV_MEDIAN(中位數(shù)模糊) – 找到param1×param1鄰域的中值(即鄰域是正方形).

> CV_BILATERAL(雙邊濾波器) – 應(yīng)用雙邊3×3濾波,顏色sigma = param1和space sigma = param2

參數(shù)1

>平滑操作的第一個(gè)參數(shù).

參數(shù)2

>平滑操作的第二個(gè)參數(shù).

如果param2為零,則在簡(jiǎn)單縮放/非縮放和高斯模糊的情況下,將其設(shè)置為param1

使用Hough Circle檢測(cè)

函數(shù)cvHoughCircles用于檢測(cè)灰度圖像上的圓圈.最后兩個(gè)參數(shù)可能需要擺弄.

CvSeq* circles =

cvHoughCircles( gray, storage, CV_HOUGH_GRADIENT, 2, gray->height/4, 200, 100 );

CvSeq* cvHoughCircles( CvArr* image, void* circle_storage,

int method, double dp, double min_dist,

double param1=100, double param2=100,

int min_radius=0, int max_radius=0 );

=======相關(guān)部分結(jié)束=========

該wiki頁(yè)面的其余部分實(shí)際上非常好(雖然,我不會(huì)在這里重新復(fù)制它,因?yàn)槠溆嗖糠峙c原始問(wèn)題無(wú)關(guān),而StackOverflow的答案大小有限).希望link到Wayback機(jī)器上的緩存副本將繼續(xù)無(wú)限期地工作.

我的更新之前的回答:

大!現(xiàn)在您已經(jīng)發(fā)布了一些示例,我可以看到您不僅僅是在矩形,方形矩形和圓形之后,您還希望在3D環(huán)境中找到這些形狀,從而可能尋找視頻中的平行四邊形和橢圓形的特殊情況幀到視頻幀最終可以顯示為矩形,正方形和/或圓形(取決于您如何平移相機(jī)).

就個(gè)人而言,我發(fā)現(xiàn)自己解決問(wèn)題比嘗試?yán)斫馊绾问褂矛F(xiàn)有(通常是非常成熟的)庫(kù)更容易.這并不是說(shuō)我自己的工作會(huì)比成熟的圖書館更好,它肯定不會(huì).只是一旦我可以自己解決問(wèn)題,那么我就更容易理解和使用一個(gè)庫(kù)(庫(kù)本身通常比我自己的解決方案運(yùn)行得更快更智能).

因此,我將采取的下一步是將位圖的顏色空間更改為灰度.一個(gè)顏色位圖,我很難理解,我操作起來(lái)很麻煩,特別是因?yàn)橛泻芏嗖煌姆绞娇梢员硎?但是灰度位圖,這更容易理解和操作.對(duì)于灰度位圖,只需想象一個(gè)值網(wǎng)格,每個(gè)值representing具有不同的光強(qiáng)度.

現(xiàn)在,讓我們將問(wèn)題的范圍限制在靜態(tài)2D環(huán)境中尋找平行四邊形和橢圓形(我們將擔(dān)心稍后處理3D環(huán)境和移動(dòng)視頻幀,或者我應(yīng)該說(shuō),你自己會(huì)擔(dān)心這個(gè)部分這個(gè)問(wèn)題對(duì)我來(lái)說(shuō)已經(jīng)變得太復(fù)雜了).

而且就目前而言,我們不用擔(dān)心您使用的工具或語(yǔ)言.只需使用最簡(jiǎn)單,最快捷的方法.例如,假設(shè)時(shí)間沒有問(wèn)題,幾乎任何東西都可以編寫腳本以自動(dòng)將圖像轉(zhuǎn)換為灰度. ImageMagick,Gimp,Marvin,Processing,Python,Ruby,Java等.

對(duì)于任何這些工具,應(yīng)該很容易將具有相似足夠強(qiáng)度的像素分組(以使計(jì)算更易于管理),并為每個(gè)光強(qiáng)度桶對(duì)不同陣列中的每個(gè)像素坐標(biāo)進(jìn)行排序.換句話說(shuō),按照包含每個(gè)像素的x和y位置的強(qiáng)度排序某種粗略的陣列直方圖應(yīng)該不會(huì)太困難.

之后,問(wèn)題變得更像this one(可以在StackOverflow上找到),因此可以使用其建議的解決方案.

一旦你能夠以這種方式解決問(wèn)題,那么將你提出的解決方案轉(zhuǎn)換為適合任務(wù)的更好的語(yǔ)言應(yīng)該不會(huì)太困難.并且理解和使用您最終為任務(wù)選擇的任何現(xiàn)有庫(kù)的基礎(chǔ)功能也應(yīng)該更容易.至少,這就是我所希望的,因?yàn)槲也粔蚴煜?我無(wú)法真正幫助你自己使用OpenCV庫(kù).

總結(jié)

以上是生活随笔為你收集整理的android 动态矩形条,android – 从相机中动态检测不同形状(圆形,方形和矩形)?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91桃色免费视频 | 欧美国产精品一区二区 | 免费观看av网址 | 亚洲依依 | 在线观看av一区 | 一道本在线播放 | 欧美亚洲精品在线 | 狠狠操网站| 与子敌伦刺激对白播放的优点 | 亚洲人成人无码网www国产 | 进去里片欧美 | 一区二区三区在线免费播放 | 亚洲色图视频网站 | 日韩伦人妻无码 | 五月天校园春色 | 亚洲精华国产精华精华液网站 | 欧美 另类 交 | 国产又粗又猛又爽免费视频 | 成人高清在线观看 | 欧美福利影院 | 亚洲中文字幕无码一区 | 成人国产精品久久久网站 | 欧美少妇xx | 国产区一区二区三区 | 日韩久久中文字幕 | 中国性老太hd大全69 | 欧美日韩91 | 人妻互换一区二区激情偷拍 | a天堂资源 | 亚洲国产aⅴ精品一区二区 日韩黄色在线视频 | 成人调教视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 欧美成人精品在线 | 精品国产av一区二区三区 | 91福利专区 | 老司机成人在线 | 成年人黄色片 | 欧美又粗又深又猛又爽啪啪九色 | 影音先锋中文字幕第一页 | 日韩av一区二区在线播放 | 国产一区在线不卡 | wwwxxx亚洲| 欧美三级午夜理伦三级老人 | 欧美性猛交xxxx乱大交俱乐部 | 欧美综合色区 | 青青草av在线播放 | 91激情视频在线观看 | 97在线免费视频观看 | 免费看91 | 日韩卡一卡二 | 婷婷久| 久久久久久欧美 | 国产美女免费看 | 公侵犯人妻中文字慕一区二区 | 午夜影片 | 国产久草视频 | 亚洲a视频在线观看 | 韩国三级中文字幕hd浴缸戏 | av网址观看| 人人爱人人澡 | 91麻豆精品国产91久久久更新时间 | 成人午夜免费电影 | 黄色免费91| 另类亚洲激情 | 67194成人在线 | 新红楼梦2005锦江版高清在线观看 | 免费成人美女女电影 | 91婷婷在线 | 在线观看日韩一区 | 99视频这里有精品 | 国产一区在线免费观看 | 俺去草 | 国产美女精品一区二区三区 | 在线免费小电影 | 宅男av| 久久久久国产精品 | 高清性爱视频 | 成a人v| 国产在线视频99 | 日本色悠悠 | 亚洲yy| 视频一区二区中文字幕 | 成人h在线| 自拍偷拍第二页 | 天天干视频在线观看 | 久色| 2019最新中文字幕 | 天天躁日日躁狠狠躁av麻豆男男 | 亚洲成av人片在线观看无 | 五月婷在线视频 | 日韩精品高清在线观看 | 久久国产精品一区 | 国产一区二区啪啪啪 | 三级a级片 | 男人的天堂avav | 草草影院在线观看视频 | 99成人精品视频 | 操你啦影院 | 色婷婷基地 |