麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

基于Opencv實現Matlab的bwmorph中的bridge操作

2019-11-14 10:11:42
字體:
來源:轉載
供稿:網友

工程需要,但是不能用matlab,所以用Opencv實現了一下bridge,也不難。

一. bridge操作的定義

在官方文檔https://cn.mathworks.com/help/images/ref/bwmorph.html中,bridge操作的定義如下: Bridges unconnected pixels, that is, sets 0-valued pixels to 1 if they have two nonzero neighbors that are not connected. For example: 1 0 0 1 0 1 0 0 1 becomes 1 1 0 1 1 1 0 1 1 也就是說,在一個二值化后的圖像中,對于任意一個值為0的像素點,如果它周圍(4連通或8連通)存在至少2個值為1且屬于不同連通區域的像素點,則把這個像素點值修改為1。

二. 實現思路

按照定義把所有值為0的像素點都走一遍就ok了,注意每次修改后,需要更新連通區域的信息。

三. 代碼實現

#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgPRoc/imgproc.hpp>#include <set>using namespace cv;using namespace std;const int dx[] = { 0, 1, 0, -1, 1, -1, 1, -1 };const int dy[] = { 1, 0, -1, 0, 1, -1, -1, 1 };set<int> get_neighbors1(Mat src, Mat label_mat, int x, int y, int connectivity = 8) { set<int> neighbors; for (int i = 0; i < connectivity; ++i) { int tmp_x = x + dx[i]; int tmp_y = y + dy[i]; if (tmp_x >= 0 && tmp_x < src.rows && tmp_y >= 0 && tmp_y < src.cols && src.at<uchar>(tmp_x, tmp_y) == 255) { neighbors.insert(label_mat.at<int>(tmp_x, tmp_y)); } } return neighbors;}void bridge(Mat src, Mat &dst, int connectivity = 8) { Mat label_mat; connectedComponents(src, label_mat, connectivity); dst = src.clone(); for (int i = 0; i < src.rows; ++i) { for (int j = 0; j < src.cols; ++j) { uchar pixel = src.at<uchar>(i, j); if (pixel == 0) { if (get_neighbors1(src, label_mat, i, j, 4).size() >= 2) { dst.at<uchar>(i, j) = 255; connectedComponents(dst, label_mat, connectivity); } } } }}int main() { Mat image = imread("C://Users//whai//Desktop//1.png"); cvtColor(image, image, COLOR_BGR2GRAY); // Canny(image, image, 100, 200, 3); imshow("修復前", image); waitKey(); Mat dst; bridge(image, dst, 4); imshow("修復后", dst); imwrite("C://Users//whai//Desktop//2.png", dst); waitKey(); return 0;}

四. 效果

bridge前 bridge前

bridge后 bridge后


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 19禁国产精品福利视频 | 午夜视频观看 | 亚洲一区二区成人 | 国产亚洲精品久久久久婷婷瑜伽 | 久色免费| 国产精品91在线 | 久久久久久久久久久久久久国产 | 一区二区三区日韩精品 | 成人毛片视频免费 | 成人免费av在线播放 | 看免费av| 4p一女两男做爰在线观看 | 国产精品免费视频观看 | 热99精品视频 | 九九精品免费 | 午夜视频你懂的 | 中文字幕免费在线观看视频 | 久色亚洲 | 日韩电影一区二区 | 91美女视频在线观看 | 7777久久香蕉成人影院 | wwwcom国产| hdjapanesemassagehd日本 | 欧美视频一二区 | 欧美视频黄色 | 国产99久久久久久免费看 | www69xxxxx| 精品亚洲一区二区三区 | 99国产精品欲a | 午夜免费网 | 91成人在线免费 | 精品人成| 色综合一区二区 | 91av视频大全| 成人黄色小视频网站 | 成人性生活视频 | www久久艹 | 亚洲人成综合第一网 | 一级黄色播放 | 黄色av.com | 免费一级肉体全黄毛片 |