【发布时间】:2017-04-02 17:44:10
【问题描述】:
我有这个代码。
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"
#include <opencv/cv.h>
#include <iostream>
#include <Windows.h>
using namespace std;
using namespace cv;
int main(int, char**)
{
Mat image = imread("text.tif", 0);
Mat dilate_im = image.clone();
Mat erode_im = image.clone();
if (image.empty())//check if empty
{
printf("Image is not read! File is probably missing! Press any key to exim program");//message for error
waitKey(); //10 second delay for showing message to user
}
else
{
namedWindow("Original", 1);
imshow("Original", image);
dilate(image, dilate_im, Mat());
erode(image, erode_im, Mat());
namedWindow("Dilate Image", 1);
imshow("Dilate Image", dilate_im);
namedWindow("Erode Image", 1);
imshow("Erode Image", erode_im);
waitKey();
}
return 0;
}
虽然扩张功能工作并输出正确的图像,但腐蚀不起作用,我只得到一张黑色图像。
这是输出:
View the output of this program here
你能帮我解释一下为什么腐蚀功能不起作用吗?
非常感谢您。
【问题讨论】:
-
对我来说输出看起来不错,文本被侵蚀并消失了。您可以使用不同的输入进行测试。