【问题标题】:Remove logo from images with using original image as a mask in OpenCv C++在 OpenCv C++ 中使用原始图像作为掩码从图像中删除徽标
【发布时间】:2016-07-21 21:53:15
【问题描述】:

首先,对不起我的英语..

我是 OpenCV 的新手,正在尝试删除图像中的徽标。我在这个网站上找到了这个答案 --> How to use OpenCV to remove non text areas from a business card?

我按照步骤编写这些代码:

int main(int argc,char** argv) {


Mat eroded,dilated,img1=imread("C:\\Users\\Buket\\Desktop\\Belgeler\\Oda Kayıt Belgesi\\OKB001.jpg");
int erosion_size = 6;   
Mat elementd = getStructuringElement(MORPH_CROSS,
                                    Size(2 * erosion_size + 1, 2 * erosion_size + 1), 
                                    Point(erosion_size, erosion_size) );
int dilation_size = 1;   
Mat elemente = getStructuringElement(MORPH_CROSS,
                                    Size(2 * dilation_size + 1, 2 * dilation_size + 1), 
                                    Point(dilation_size, dilation_size) );

Mat mask = Mat::zeros(img1.rows, img1.cols, CV_8UC1);
dilate(img1, dilated, elementd);

Mat lastimg;
int count =0;
do{
    lastimg = dilated;
    erode(dilated, lastimg, elemente);
    max(lastimg,img1);
    count++;
}while(count < 2);

现在我有一个图像,上面只是标志:

Just logo

这是源图片:

Original pic

在文章中,有这样一句话:“您现在有一张只有徽标且没有文字的图片,请使用此图片删除徽标”。 但我该怎么做?我研究了很多,但一无所获..

请帮忙..

编辑

Mat dest;

subtract(lastimg,img1,dest);
bitwise_not(dest,dest);

这个函数就是答案。

【问题讨论】:

    标签: c++ opencv image-processing


    【解决方案1】:

    试试下面的代码,希望它可以工作:

    Mat img1=some_img;
    Mat img2=some_img;
    
    Mat dest;
    
    cv::subtract(img1,img2,dest);
    

    这将执行像素减法 (img1-img2)。 查找有关它的更多详细信息http://docs.opencv.org/modules/core/doc/operations_on_arrays.html

    【讨论】:

    • 这不行,它要求图像大小相同。
    • 她展示的图像似乎大小相同,并且是同一图像文件的修改版本。如果它的大小相同。那么它肯定会起作用。否则不是。 :)
    • 如果图片大小不一,那么你就得定位logo的区域,可能是模板匹配或者物体检测或者特征检测,然后就空白的去掉logo的区域。但是对于上面的问题,这可能是最好的解决方案了。
    • 图片大小相同。但这不起作用。它的输出只是黑色图片。我想要这样postimg.org/image/fr8r3engx(由油漆制作:))即使如此感谢您的回答
    • 你给了“原始图像”-“只是标志”图像对吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 2018-12-22
    相关资源
    最近更新 更多