이미지의 한 점을 선택하고 다른 점의 RGB 값을이 점과 비교 한 다음 유사한 점의 색상을 변경하려고했지만 실패했습니다. 나는 코드의 정확성,하지만 중첩 루프에 대한 확실하지 않다과 절 경우 물건을의 matlab에 틱 방법이 아니다MATLAB을 사용하여 이미지의 색상 변형 비교
function exchangecolor()
I1=imread('F:\28.jpg');
I2=imread('F:\29.jpg');
[m1,n1,x1]=(size(I1));
[m2,n2,x2]=size(I2); //[399,400,3]=size(I1)=size(I2)
r1=I1(200,200,1);
r2=I2(200,200,1);
g1=I1(200,200,2);
g2=I2(200,200,2);
b1=I1(200,200,3);
b2=I2(200,200,3);
for i=1:m1
for j=1:n1
if abs(I1(i,j,1)-r1)<=10
if abs(I1(i,j,2)-g1)<=10
if abs(I1(i,j,3)-b1)<=10
I1(i,j,1)=r2;
I1(i,j,2)=g2;
I1(i,j,3)=b2;
end
end
end
end
end
imwrite(I1,'F:\89.jpg','jpg');
어떤 방법으로 실패 했습니까? –
이미지를 게시 할 수있는 권리가 있다면 예제 이미지도 도움이 될 것입니다. 간단한 논리는 매우 쉬운 이미지에서만 작동합니다. –
@Oliver 비교에서 얻은 '비슷한'점이 잘못되어 실패했습니다. 즉, 비슷한 점을 찾지 못했습니다. – Smile