В моем приложении мне нужно сравнить 2 изображения и выделить разницу цветом. Например, я сравниваю UIImage1 с UIImage2, где оба изображения одинаковы, за исключением небольшого квадрата в UIImage2. Мне нужно выделить дополнительный квадратный объект красным цветом и отобразить его в виде изображения, в противном случае я хочу узнать направление разницы по осям x и y.
Я пробовал этот код ниже. в этом коде я могу изменить только альфа-значение разницы. невозможно изменить цвет различий.
UIImage* bottomImage = [UIImage imageNamed:@"j1.jpg"];
UIImage* topImage = [UIImage imageNamed:@"j2.jpg"];
UIImageView* imageView = [[UIImageView alloc] initWithImage:bottomImage];
UIImageView* subView = [[UIImageView alloc] initWithImage:topImage];
subView.alpha = 0.5; // Customize the opacity of the top image.
[imageView addSubview:subView];
UIGraphicsBeginImageContext(imageView.frame.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* blendedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_imageview.image = blendedImage;
изображение 1:
изображение 2:
разное изображение:
но я хочу вот что:
Я новичок в OpenCV, коды написаны на python. Может ли кто-нибудь помочь мне изменить этот код в цель-с? Я пытался, но получаю только ошибку.
https://stackoverflow.com/a/27500479/6859041
im = cv2.imread('c:\\diff.jpg')
im1 = cv2.imread('c:\\Edited.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im1, contours, -1, (0,255,0), 1)
cv2.imwrite("c:\\see_this.jpg", im1)
как изменить этот код на цель C?
спасибо.