以下是一个 Python 代码示例,使用 OpenCV 库来实现对 RGB 图像中轮廓范围的处理:\n\npython\nimport cv2\nimport numpy as np\n\n# 加载图像\nimage = cv2.imread('input_image.jpg')\n\n# 转换为灰度图像\ngray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n\n# 使用Canny边缘检测算法检测轮廓\nedges = cv2.Canny(gray, 50, 150)\n\n# 寻找轮廓\ncontours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n\n# 计算所有轮廓的范围\ncontour_areas = [cv2.contourArea(contour) for contour in contours]\n\n# 计算轮廓范围的平均值\naverage_area = np.mean(contour_areas)\n\n# 创建一个空的掩膜图像\nmask = np.zeros_like(gray)\n\n# 将轮廓范围小于平均值的部分去除\nfor contour in contours:\n area = cv2.contourArea(contour)\n if area > average_area:\n cv2.drawContours(mask, [contour], -1, 255, thickness=cv2.FILLED)\n\n# 将掩膜应用于原始图像\nresult = cv2.bitwise_and(image, image, mask=mask)\n\n# 保存结果图像\ncv2.imwrite('output_image.jpg', result)\n\n\n请确保将代码中的input_image.jpg替换为您自己的输入图像的文件名,然后运行程序。结果图像将保存为output_image.jpg

Python OpenCV: 使用轮廓范围滤除图像中的小区域

原文地址: https://www.cveoy.top/t/topic/qiJP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录