2010-03-23 16 views

cevap

5

gerekecek çünkü piton uygulamasını kullanmak coudn't. Bu yardımcı olacaktır eğer

Bu bağlantı, bazı örnek kod içerir: http://permalink.gmane.org/gmane.comp.lib.opencv/36167

+0

Denerim arkadaşım. Teşekkürler – marionmaiden

+0

Bu cevap modası geçmiş doğdu :) [DatChu cevap] (http://stackoverflow.com/a/2549246/2436175) günümüzde geçerli olan tek geçer. – Antonio

+1

İlk bağlantı zaman aşımına uğradı, ikinci bağlantı öldü. – Twonky

13
#include <cv.h> 
#include <highgui.h> 

using namespace cv; 

Mat im = imread("cameraman.tif"); 
Mat im2 = imread("lena.tif"); 

Mat diff_im = im - im2; 

Görüntüyü değiştir adları. Ayrıca aynı boyuta sahip olduklarından emin olun. Cv :: subtract() yöntemini kullanarak

0

hakkında daha fazla ayrıntı bulabilirsiniz im1-im2 Doğrusu çıkarma yöntemleri, OpenCV yöntemi cv::absdiff

using namespace cv; 
Mat im1 = imread("image1.jpg"); 
Mat im2 = imread("image2.jpg"); 
Mat diff; 
absdiff(im1, im2, diff); 

öneririm @Dat ve @ ssh99 tüm olumsuz farklılıkları öldürecek. Örneğin, BMP görüntünün bir piksel 20-70 = -50, 50-80 = -30, 30-90 = -60 ve tüm negatif sonuçları 0 arasında işaretsiz değer dönüştürülür, çünkü değer [0,0,0] üretecek hem im1 - im2 ve diff(im1, im2, diff) kullanılarak im2 için im1 ve [70, 80, 90] değeri [20, 50, 30] sahip olan Çoğu durumda, istediğin şey değildir. Metot absdiff bunun yerine tüm çıkarmaların mutlak değerlerini hesaplar, böylece daha makul [50,30,60] üretir.

İlgili konular