如何在Python中选择.tiff图像上的棕色像素并计算其面积或数量?

2024-05-29 04:39:46 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy as np
import scipy
import pylab
import pymorph
import mahotas
from scipy import ndimage

image = mahotas.imread('img.tiff')

pylab.imshow(image)
pylab.show()

我想在医学图像上选择(阈值)棕色像素(血管)并计算它们所代表的面积。如何在Python中像Matlab或C++那样做?有没有我找不到的好例子?在

谢谢你


Tags: fromimageimportnumpyimgasnpscipy
1条回答
网友
1楼 · 发布于 2024-05-29 04:39:46

我不知道你对“棕色”的规则是什么,但大概是这样的(在RGB颜色空间中):

0.5 <= r < 0.75 and 0.25 <= g < 0.375 and b < 0.1

ndimage只是一个3D像素数组,其中第三维度是颜色平面。换句话说,对于RGBA图像,image[0, 0, 0]是像素(0, 0)的红色值,image[0, 0, 1]是像素{}的绿色值,等等

所以,你得到了一个像素数组。你要计算所有符合这个规则的像素。您不需要任何特定于图像的函数。只需使用您最喜欢的numpy机制,将函数应用于每行和每列的所有平面,就可以得到2x2的bools数组。例如:

^{pr2}$

相关问题 更多 >

    热门问题