不改变原始图像大小的图像分割方法。
创始人
2024-12-24 14:30:33
0

使用OpenCV中的图像分割函数,可以实现将原始图像分割为不同的区域,并生成与原始图像大小相同的掩膜图像。下面是一个示例代码:

import cv2

# 读取原始图像
img = cv2.imread("test.jpg")

# 使用分水岭算法进行图像分割
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
opening = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations=2)
sure_bg = cv2.dilate(opening, kernel, iterations=3)
dist_transform = cv2.distanceTransform(opening, cv2.DIST_L2, 5)
ret, sure_fg = cv2.threshold(dist_transform, 0.7*dist_transform.max(), 255, 0)
sure_fg = np.uint8(sure_fg)
unknown = cv2.subtract(sure_bg, sure_fg)
ret, markers = cv2.connectedComponents(sure_fg)
markers = markers + 1
markers[unknown==255] = 0
markers = cv2.watershed(img, markers)
img[markers==-1] = [255,0,0]

# 生成掩膜图像
mask = np.zeros_like(gray)
mask[markers!=-1] = 255

# 显示图像和掩膜图像
cv2.imshow("Original Image", img)
cv2.imshow("Mask Image", mask)
cv2.waitKey(0)
cv2.destroyAllWindows()

此代码使用了分水岭算法进行图像分割,并生成与原始图像大小相同的掩膜图像。其中,生成的掩膜图像将不同的区域标记为白色,其余区域为黑色。

相关内容

热门资讯

透视真的!德扑圈透视(透视)私... 透视真的!德扑圈透视(透视)私人局辅助免费(切实真的有挂)1、全新机制【德扑圈透视软件透明挂】2、全...
透视教程!aapoker怎么开... 透视教程!aapoker怎么开辅助器(透视)免费透视脚本(总是真的是有挂);1、aapoker怎么开...
透视规律!aapoker透视脚... 透视规律!aapoker透视脚本下载(透视)辅助(一直存在有挂)透视规律!aapoker透视脚本下载...
辅助透视!德扑圈透视挂(透视)... 辅助透视!德扑圈透视挂(透视)app安卓版破解版(竟然存在有挂);德扑圈透视挂辅助器中分为三种模型:...
透视透视!aapoker透视方... 透视透视!aapoker透视方法(透视)万能辅助器(好像存在有挂)1、aapoker透视方法系统规律...
透视规律!德扑圈透视(透视)透... 透视规律!德扑圈透视(透视)透视辅助软件激活码(果然有挂)1、完成德扑圈透视透视辅助安装,帮助玩家取...
透视ai!德扑圈透视(透视)辅... 透视ai!德扑圈透视(透视)辅助软件(真是存在有挂)德扑圈透视辅助器中分为三种模型:德扑圈透视软件透...
透视安卓版!aapoker怎么... 透视安卓版!aapoker怎么设置提高好牌几率(透视)ai插件(原来真的是有挂)1、aapoker怎...
透视代打!aapoker辅助怎... 透视代打!aapoker辅助怎么用(透视)透视脚本(总是真的有挂)1、aapoker辅助怎么用透视辅...
透视插件!德普之星透视辅助软件... 透视插件!德普之星透视辅助软件激活码(透视)透视辅助软件下载(一直真的有挂)小薇(透视辅助)致您一封...