image-processing - opencv/javacv 中的面积计算?

标签 image-processing opencv area javacv

请有人解释一下如何识别下图中应该是红色和蓝色的区域吗?我尝试使用 cvFindContours() 方法,但它没有给我预期的结果。

输入图片

enter image description here

预期结果

enter image description here 我想知道是否有任何其他方法来识别或计算这种轮廓的面积。请善待与此分享简单的代码示例。

最佳答案

函数 floodFill 也可以返回一个区域作为它的返回值。所以你可以做的一件事是光栅扫描每个像素:每次到达未触及的像素时,将其着色为某种颜色(黑色),并存储该区域的面积以及像素坐标,继续直到整个图像都不会被覆盖.

最后,您将拥有一组区域,每个区域中的一个像素都有坐标。

您是否需要恢复特定区域,您可以通过将该区域着色为特定颜色来再次使用 floodFill。

关于image-processing - opencv/javacv 中的面积计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237598/

相关文章:

ios - 调整图像选定区域的大小

php - Laravel 使用 Ajax 上传多张图片

python - 如何确定Python中常见图像类型的类型和大小?

c++ - 链接器错误。这不可能

python - 如何将矩形蒙版放在矩形对象上

c++ - 我可以使用 opencv 函数,例如 cv::multiply 和 std::vector<cv::Mat> 作为输入和输出参数吗?

python - 在 Python 中使用 OpenCV 对点进行不失真时的错误结果

C++ - 简单形状面积计算器返回错误计算

r - ggplot 在同一面板中组合线和区域(facet-grid)

javascript - 与多个图像关联的图像映射