Comparing 2 images intensities
古いコメントを表示
down votefavorite
I have two images 1 and 2. I want to get the v (intensity) value of the hsv images; then I want the v (intensity) value of the first image equal to v (intesity) value of the second image?
I used this code to get the v;
v = image1(:, :, 3);
u = image2(:, :, 3);
How do I make both u and v the same value?
Thanks
回答 (2 件)
Jeff E
2014 年 2 月 6 日
The code below will take the hue and saturation values from image1, and the value from image2, and merge them into one new image. Said another way, you are replacing the V signal from image1 with the V signal from image2.
new_image1 = cat(3, image1(:,:,1) , image1(:,:,2), image2(:,:,3));
Your last question "How do I make both u and v the same value?" doesn't make sense, to me.
Image Analyst
2014 年 2 月 8 日
Try something like this:
hsv1 = rgb2hsv(rgbImage1); % Convert to hsv color space.
hsv2 = rgb2hsv(rgbImage2); % Convert to hsv color space.
hsvOut = hsv1; % Initialize output array.
hsvOut(:,:,3) = hsv2(:,:,3); % Replace intensity of 1 with 2
rgbOut = rgb2hsv(hsvOut); % convert back to rgb color space.
7 件のコメント
Image Analyst
2014 年 2 月 9 日
Yeah, of course that won't work because hsvOut is not a 3D image. Plus v1 and v2 are both the same thing: the v channel of V1. Why did you not want to do what I suggested? Try it like I said instead.
Ramo
2014 年 2 月 13 日
Image Analyst
2014 年 2 月 13 日
You say
v3(j) =0.5*( v1(j)+ v2(j));
so you're not replacing 1 with 2, you're replacing 1 with the average of image 1 and 2, which is not what you originally asked, though it may be what you want.
Ramo
2014 年 2 月 13 日
Image Analyst
2014 年 2 月 13 日
So are we done here? If so, please mark my answer as Accepted. Thanks.
カテゴリ
ヘルプ センター および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!