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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【OpenCV】8邻域种子填充法剔除短连通域的高效算法

發(fā)布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【OpenCV】8邻域种子填充法剔除短连通域的高效算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//本文檔參考種子填充算法描述及C++代碼實現(xiàn)(https://www.bbsmax.com/A/amd0AVWzge/)講解的原理,實現(xiàn)快速種子填充算法,運(yùn)行效果高。 //具體功能如下:依次掃描每個像素,檢測8領(lǐng)域,尋找連通域,刪掉面積小于閾值的。 #include <opencv2/opencv.hpp> #include <cv.h>using namespace cv; using namespace std;#define IMG_MARGIN_GAP_SIZE 3 #define IMG_MINIMUM_ALGO_AREA 30 //保留連通域的面積下限 #define POSITION_OFFSET_SIZE 8 //8鄰域 #define MAX_STK_BIRD_SIZE 4000 #define INIMG_WIDTH 300 #define INIMG_HEIGHT 720 int position_offset[POSITION_OFFSET_SIZE] = {-INIMG_WIDTH, -INIMG_WIDTH-1,-1, INIMG_WIDTH-1, INIMG_WIDTH, INIMG_WIDTH+1, 1, -INIMG_WIDTH+1};int init_stk[MAX_STK_BIRD_SIZE];void SeedFillAlgorithm(Mat &inImg, Mat &outImg) {int i, j, k, p, pp;uchar *bdata, *bdata_tmp, *cdata; int *stk, stkN; bdata = inImg.data; bdata_tmp = inImg.data + INIMG_WIDTH * (INIMG_HEIGHT-IMG_MARGIN_GAP_SIZE); for (i = 0; i < IMG_MARGIN_GAP_SIZE; i++) {for (j = 0; j < INIMG_WIDTH; j++) {*bdata++ = *bdata_tmp++ = 0; //把圖像上下邊界3像素寬度范圍內(nèi)像素置為0}}bdata_tmp = inImg.data + (INIMG_WIDTH -1)*IMG_MARGIN_GAP_SIZE; for (i = INIMG_HEIGHT-2*IMG_MARGIN_GAP_SIZE; i > 0; i--) {for (j = 0; j < (IMG_MARGIN_GAP_SIZE*2); j++) {bdata_tmp[j] = 0; //把圖像左右邊界3像素寬度范圍內(nèi)的像素置為0}bdata_tmp += INIMG_WIDTH; }cdata = outImg.data; memset(cdata, 0, sizeof(uchar)*INIMG_HEIGHT*INIMG_WIDTH);//需要為stk分配空間!stk = init_stk; //memset(stk, 0, sizeof(int)*MAX_STK_BIRD_SIZE);bdata = inImg.data; for (i = INIMG_WIDTH*IMG_MARGIN_GAP_SIZE; i < INIMG_WIDTH*(INIMG_HEIGHT-IMG_MARGIN_GAP_SIZE); i++) {if (bdata[i] == 0) continue; bdata[i] = 0; stk[0] = i; k = 0; stkN = 1; while (1) {p = stk[k++]; for (j = POSITION_OFFSET_SIZE-1; j >= 0; j--) {pp = p + position_offset[j]; if (bdata[pp] == 0) continue; bdata[pp] = 0; stk[stkN++] = pp; }if (k >= stkN) break; if (stkN >= (MAX_STK_BIRD_SIZE-POSITION_OFFSET_SIZE)) break; }if (stkN <= IMG_MINIMUM_ALGO_AREA) continue; //如果8鄰域聯(lián)通總數(shù)小于設(shè)置的最小面積閾值,不保留。for (k = stkN - 1; k >= 0; k--) {p = stk[k]; cdata[p] = 1; }} }//把只有0/1取值的二值圖轉(zhuǎn)為0/255取值的二值圖 static void binary2To255(Mat &img) {for (int i=0;i<img.rows;i++) {for (int j=0;j<img.cols;j++) {if (img.data[i*img.cols + j] > 0) img.data[i*img.cols + j] = 255;}} }int main() {Mat srcImg = imread("G:\\binaryImg\\image1.bmp", 0);imshow("in", srcImg);Mat dstImg(srcImg.rows, srcImg.cols, CV_8UC1, Scalar(0));;SeedFillAlgorithm(srcImg, dstImg);binary2To255(dstImg);imshow("out", dstImg);waitKey(0);return 0; }

處理結(jié)果如下:?

?

?

總結(jié)

以上是生活随笔為你收集整理的【OpenCV】8邻域种子填充法剔除短连通域的高效算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久操这里只有精品 | 久久久资源 | 国产成人精品一区二区三 | 天天视频国产 | 91精品国产99| 欧美日韩在线免费看 | 日韩国产欧美 | 在线国产精品视频 | 日本打屁股网站 | 99热只有 | 第四色男人天堂 | 91久久精品一区二区三 | 饥渴少妇色诱水电工 | 色哟哟导航 | 欧美一区二区三区色 | 欧美日韩在线一区二区三区 | 亚洲奶水xxxx哺乳期 | 无码少妇一区二区三区芒果 | 日韩精品视频在线观看免费 | 日本少妇网站 | 欧美成人午夜精品免费 | 国产视频1 | 国产成人午夜精品无码区久久 | 人物动物互动39集免费观看 | 日日夜夜免费视频 | 色一情一乱一伦一区二区三区 | se94se欧美| 免费人妻精品一区二区三区 | 特大黑人巨人吊xxxx | 日产精品久久久久久久蜜臀 | 亚洲色图综合在线 | 黄色高清网站 | 日韩专区在线播放 | 日韩精品在线看 | 中文字幕女优 | 免费的黄色一级片 | 狠狠操天天操夜夜操 | 日韩欧美高清片 | 日本免费不卡视频 | 亚洲爆乳无码精品aaa片蜜桃 | 成人在线观看亚洲 | 亚洲一区二区精品视频 | 日本一道本 | 黑人一级女人全片 | 青青草视频偷拍 | 岛国av一区二区三区 | 在线播放av片 | 国产 日韩 一区 | 午夜在线视频免费观看 | 日韩怡春院 | 深夜福利免费在线观看 | 亚洲一区二区在线免费观看 | 国产精品久久久不卡 | heyzo久久| 97精品人妻一区二区三区在线 | 狠狠操夜夜爽 | 日韩电影二区 | 国产一级视频在线播放 | 精产国品一二三产品蜜桃 | www.成年人| 国产又大又黑又粗免费视频 | 国产91精品久久久久 | 麻豆91在线观看 | 久久久久99精品成人片毛片 | 一区二区在线精品 | 免费毛片小视频 | 麻豆91茄子在线观看 | www.天堂av | 这里只有精品视频在线 | 大地资源中文在线观看免费版 | 国产精品久久久久久亚洲色 | 综合色站导航 | 国产wwww | 伊人国产在线观看 | 国产av成人一区二区三区高清 | 法国极品成人h版 | 少妇肥臀大白屁股高清 | 看国产黄色片 | 丰满人妻一区二区三区精品高清 | 永久免费在线 | 91狠狠爱| 影音先锋成人 | 国产精品人人妻人人爽 | 不卡在线播放 | 亚洲二区一区 | a在线播放 | 性天堂网| 成人超碰| 无码人妻丰满熟妇啪啪 | 澳门久久久 | 亚洲综合色视频 | 亚洲蜜臀av一区二区三区 | 久久精品国产成人av | 欧美成本人视频 | 波多在线播放 | 91黄色免费网站 | 日本色呦呦 | 国产69精品久久久 | 福利电影一区二区 |