我有一个医学项目,想提取一个特殊的部分![我想要的区域](https://i.sstatic.net/9QhRzjbK.png)
在不理解其坐标的情况下自动提取眼睛图像,而不是手动改变该区域的坐标,因为我从许多患者身上采集,我认为必须找到它的形状。我的目标是通过计算肺结膜中的红色像素来确定贫血与非贫血。我使用掩蔽法(k表示)来完成这项工作,但我希望可以采用一种方法,首先直接提取肺结膜,然后使用k表示来掩蔽图像并进行查找,因为我的结果会更准确。当我使用图像分割的k均值时,我发现另一个重叠的红色像素破坏了我的准确性。
。我也听说过要使用机器学习,但在进行机器学习以在患者的图像中找到附近区域后,我需要提取关节牙髓。所以我需要代码来只提取和只提取结膜肺。
我尝试了k_means和内核,但添加了另一个不需要的红色像素。我听说了实例分割和面具RCNN。你认为我有我想要的区域,就像上面的图片作为CNN的数据一样,那么如何将其用于我的项目。
导入cv2将numpy导入为np#阅读图像image=cv2.imread('c:/users/stk/desktop/d.png')#将图像转换为HSVhsv=cv2.cvt颜色(图像,cv2.COLOR_BGR2HSV)#定义红色的上下限lower_red=np.数组([0,120,70])upper_red=np.array([10255255])#为红色创建遮罩mask1=cv2.in范围(hsv,lower_red,upper_red)#定义红色的上下限lower_red=np.数组([170,120,70])upper_red=np.array([180255255])#为红色创建遮罩mask2=cv2.in范围(hsv,lower_red,upper_red)#合并两个遮罩mask=掩码1+掩码2#创建用于形态学操作的内核内核=np.ones((5,5),np.uint8)#执行形态学操作mask=cv2.morphologyEx(掩码,cv2.MORPH_CLOSE,内核)mask=cv2.morphologyEx(掩码,cv2.MORPH_OPEN,内核)#将遮罩应用于原始图像结果=cv2.bitwise_and(image,image,mask=掩码)#保存结果cv2.imwrite('extracted_red_object.png',结果)#显示结果cv2.imshow(“提取的红色对象”,结果)cv2.waitKey(0)cv2.destroyAllWindows()