I want to align these two images, but as you can see they have different color, but I want it to be in the same shape/direction for further image processing

 采纳的回答

Ameer Hamza
Ameer Hamza 2020-6-10
编辑:Ameer Hamza 2020-6-10

0 个投票

7 个评论

Could you try to register these two images? When I tried the registration codes from one of your reference the result is not aligned well
a = imread('Picture 172.jpg');
b = imread('Picture 173.jpg');
tformEstimate = imregcorr(a,b);
Rfixed = imref2d(size(a));
movingReg = imwarp(b,tformEstimate,'OutputView',Rfixed);
imshowpair(a,movingReg,'falsecolor');
Which two? The 'Picture 172.jpg' and 'Picture 173.jpg' that you forgot to attach?
I'm sorry, I used another set of photo in my first question
imregister() seems to work well in this case
a = rgb2gray(imread('image1.jpeg'));
b = rgb2gray(imread('image2.jpeg'));
[optimizer, metric] = imregconfig('multimodal');
im_reg = imregister(a, b, 'affine', optimizer, metric);
imshowpair(b, im_reg,'falsecolor');
Thanks for your answer, I have tried it as well, and as I see there is still some deviation between the two images. As I need to calculate both of them, I'm afraid there will be some error in the mispositioning of the plant or leafs.
You may try tuning the optimizer and metric parameters, as shown on the documentation page of imregister() and imregconfig(). However, I don't think that pixel-level registration is easily possible. There will be some differences if looked closely.
Yes, of course. If the camera location and angle change, eventually the views will be so drastically different that it won't even be possible to register them. The smaller the movement, the better the alignment and the fewer the "bad" pixels. How good or bad the registration is depends on how much the camera moved and how much the subject moved (e.g. was it windy and the leaves moved?).

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by