Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从边缘检测区域_Python_Opencv - Fatal编程技术网

Python 从边缘检测区域

Python 从边缘检测区域,python,opencv,Python,Opencv,我有一张显微照片,显示了一些有着清晰边界的颗粒。我已经使用OpenCV Python来检测这些边界(使用了一个Canny过滤器),我认为它的尝试是相当成功的,见图。我想识别和标记由检测到的边缘限定的各个区域,然后获得包含这些区域的区域(像素数)。如果之前有人问过(并回答过)这个问题,我深表歉意,但我还没有找到任何令人满意的答案 提前谢谢 原始图像 原始图像被检测到的边缘覆盖 如果颗粒在颜色上没有区别(可能是在原始数据上,而不是在压缩格式上),您可能需要使用贝克线来区分内部和外部。谷粒的边缘在内部

我有一张显微照片,显示了一些有着清晰边界的颗粒。我已经使用OpenCV Python来检测这些边界(使用了一个Canny过滤器),我认为它的尝试是相当成功的,见图。我想识别和标记由检测到的边缘限定的各个区域,然后获得包含这些区域的区域(像素数)。如果之前有人问过(并回答过)这个问题,我深表歉意,但我还没有找到任何令人满意的答案

提前谢谢

原始图像 原始图像被检测到的边缘覆盖

如果颗粒在颜色上没有区别(可能是在原始数据上,而不是在压缩格式上),您可能需要使用贝克线来区分内部和外部。谷粒的边缘在内部呈黑色,在外部呈白色。但这也取决于显微镜的焦点


如果您的颗粒没有完全包围背景斑点,您可以使用一种方法。

您可以添加原始图像和另一个图像,在其中以绿色或其他颜色标记所有要计数的像素吗?这似乎是一个完美的应用程序tutorial@Miki根据我在教程中的理解,将分水岭方法应用于与背景具有良好对比度的对象。正如您在我的图像中看到的,只有边界具有对比度,但颗粒本身具有与背景相同的强度,因此分水岭不起作用。您将如何继续将教程内容应用于此问题?@MPA,对不起,我以前没有看到原始图像。你是对的,这不是小事。对不起,仍然不知道要计算哪些像素。。。你知道轮廓的内部和外部是什么吗?如果是,只需使用cv::findContours并计算轮廓像素。但是看起来轮廓没有闭合,所以可能首先尝试对边缘执行闭合操作(cv::Explate,然后是cv::腐蚀),然后再提取轮廓。