2014-10-06 18 views

回答

0

起初,你需要兩張圖片是這樣的。在opencv或photoshop中使用canny。

enter image description here enter image description here

然後使背景差異如下

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
    Mat model = Highgui.imread("D:\\BKDiff\\can1.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE); 
    Mat scene = Highgui.imread("D:\\BKDiff\\can2.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE); 
    Mat diff = new Mat(); 
    Core.absdiff(model,scene,diff); 
    Imgproc.threshold(diff,diff,15,1000,Imgproc.THRESH_BINARY); 
    int distortion = Core.countNonZero(diff); 
    Highgui.imwrite("D:\\BKDiff\\out.jpg",diff); 

之後,你會得到這一點。

enter image description here

+0

是的,謝謝它的工作正常,現在我需要在這個標誌上畫一個矩形框我們得到了,我該如何做到這一點.. – user4897 2014-10-06 07:11:56

+0

我使用下面的代碼來找到邊界框 cv :: Mat threshold_output; cv :: Mat m = img.clone(); cv :: blur(m,m,cv :: Size(5,5)); std :: vector >輪廓; std ::向量分; CV :: findContours(米,輪廓,CV_RETR_LIST,CV_CHAIN_APPROX_NONE); m.release(); 爲(我的size_t = 0; I user4897 2014-10-06 07:22:00

+0

您可以使用submat來檢索文本。 – zawhtut 2014-10-06 07:44:37