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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java项目类上有黑色的点_图像处理 – 如何使用javacv / opencv识别黑色多边形上的点?...

發布時間:2024/9/27 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java项目类上有黑色的点_图像处理 – 如何使用javacv / opencv识别黑色多边形上的点?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我試圖識別這個黑色多邊形周圍的輪廓,我需要訪問這些點,但它不適合我.這是輸入圖像

但是,當我嘗試執行以下代碼時,它沒有給出預期的結果,這意味著它應該.

CanvasFrame cnvs=new CanvasFrame("Polygon");

cnvs.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

CvMemStorage storage=CvMemStorage.create();

CvSeq squares = new CvContour();

squares = cvCreateSeq(0, sizeof(CvContour.class), sizeof(CvSeq.class), storage);

String path="project/Test/img/black.png";

IplImage src = cvLoadImage(path);

IplImage gry=cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);

cvCvtColor(src, gry, CV_BGR2GRAY);

cvThreshold(gry, gry, 230, 255, CV_THRESH_BINARY_INV);

cnvs.showImage(gry);

cvFindContours(gry, storage, squares, Loader.sizeof(CvContour.class), CV_RETR_LIST, CV_CHAIN_APPROX_NONE);

CvSeq ss=null;

CvSeq tmp=null;

int ii=0;

for (ss=squares; ss!=null; ss=ss.h_next()) {

tmp=cvApproxPoly(ss, sizeof(CvContour.class), storage, CV_POLY_APPROX_DP, 8, 0);

System.out.println("index "+ii+" points "+tmp.total()+" area "+cvContourArea(ss, CV_WHOLE_SEQ, 0));

cvDrawContours(src, ss, CvScalar.RED, CV_RGB(248, 18, 18), 1, -1, 8);

//drawPoly(src, tmp);

}

IplConvKernel mat=cvCreateStructuringElementEx(7, 7, 3, 3, CV_SHAPE_RECT, null);

cvDilate(src, src, mat, CV_C);

cvErode(src, src, mat, CV_C);

cnvs.showImage(src);

saveImage("nw.png", src);

但是,當我檢查出來時,它只給出

指數0點8區20179.0

這意味著它只識別多邊形的8個點,但它應該是12個點.

請一些人解釋這段代碼的問題.

這顯示了輸出圖像

總結

以上是生活随笔為你收集整理的java项目类上有黑色的点_图像处理 – 如何使用javacv / opencv识别黑色多边形上的点?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。