我試圖消除與侵蝕和擴張過程中的數字周圍的東西。我嘗試過但沒有發生任何事情。我只是爲了看看是否會改變某些東西而改變了這些值,但再一次沒有任何改變。圖像像上面的鏈接一樣繼續。這個參數怎麼樣?我讀了文檔,但不太明白(正如你所看到的,我在函數中猜測)。我究竟做錯了什麼?如何在opencv中使用erode和dilate函數?
圖像:https://docs.google.com/file/d/0BzUNc6BOkYrNeVhYUk1oQjFSQTQ/edit?usp=sharing
的代碼:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main (int argc, char **argv)
{
Mat im_gray;
Mat img_bw;
Mat img_final;
Mat im_rgb = imread("cam.jpg");
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1);
dilate(img_bw, img_final, 0, Point(-1, -1), 2, 1, 1);
imwrite("cam_final.jpg", img_final);
return 0;
}
因此,讓我們從文檔http://docs.opencv.org/modules/imgproc/doc/filtering.html#void%20dilate%28InputArray%20src,%20OutputArray%20dst,%20InputArray%20kernel,%20Point %20anchor,%20int%20iterations,%20int%20borderType,%20const%20Scalar&%20borderValue%29給我一點時間... – Antonio