如何删除与图像边框相邻的项目[关闭]

Posted

技术标签:

【中文标题】如何删除与图像边框相邻的项目[关闭]【英文标题】:How to remove items adjacent to border of image [closed] 【发布时间】:2014-07-22 21:20:23 【问题描述】:

我有一个包含黑色背景上的白色核的二进制图像。 对于我的处理,我需要从图像中消除那些被边界部分剪裁的核。

下面是一张图片,对于这种情况,我想删除顶部边框的四个原子核和底部的四个原子核。如何使用 OpenCV 做到这一点?

我需要消除那些接触边界的细胞核。

【问题讨论】:

... 这很紧急!拜托!是认真的吗?如果它对你来说很紧急,这根本不重要。恕我直言,这对这里的大多数研究人员来说并不紧急:P ... 这个问题有很多问题,但我不确定为什么人们投票关闭,因为它太宽泛了。 对不起。不过还是谢谢你。 =] 【参考方案1】:

扫描图像的边框,当您发现flood fill 带有黑色的白色像素时。

你会想要这样的:

uchar white(255);

// do top and bottom row
for(int y = 0; y < image.rows; y += image.rows-1)

    uchar* row = image.ptr<uchar>(y)
    for(int x = 0; x < image.cols; ++x)
    
        if(row[x] == white)
           
            cv::floodFill(image, cv::Point(x,y), cv::Scalar(0), (cv::Rect*)0, cv::Scalar(), cv::Scalar(200));
        
    

// fix left and right sides
for(int y = 0; y < image.rows; ++y)

    row = image.ptr<uchar>(y)
    for(int x = 0; x < image.cols; x += image.cols - 1)
    
        if(row[x] == white)
           
            cv::floodFill(image, cv::Point(x,y), cv::Scalar(0), (cv::Rect*)0, cv::Scalar(), cv::Scalar(200));
        
    
 

【讨论】:

以上是关于如何删除与图像边框相邻的项目[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从弹出的谷歌地图信息窗口中删除关闭按钮(x)边框?

如何使用背景图像删除 > iOS 10 和 Swift 4 中的 Tab Bar 顶部边框(阴影)?

如何从线性布局中删除边框线

从按钮中删除边框

如何删除一组子项周围的默认边框?

Python - 如何删除选定ListBox项目周围的边框?