0
im = imread('peppers.png');
noise=randn(size(im)).*1;
output=double(im)+noise;
imshow(output);
보기 그냥 내가 먼저 사용하여 두 배로 변환해야이가우시안 잡음
im = imread('peppers.png');
noise=randn(size(im)).*1;
output=double(im)+noise;
imshow(output);
보기 그냥 내가 먼저 사용하여 두 배로 변환해야이가우시안 잡음
을 peppers.png의 상단에 약간의 가우스 노이즈를 보여줍니다 희망 흰색 이미지
을 보여 im2double
(안 double
) 다음 추가 소음 :
im = imread('peppers.png');
imd = im2double(im);
noise=randn(size(im)).*0.1;
output=imd+noise;
imshow(output);
왜 이런 일이 발생합니까?
변수의 유형을 확인하면 표시됩니다. 유형 uint8
인 행렬에 함수 double
을 적용해도 값의 크기가 조정되지 않고 함수의 유형 만 변경됩니다.
>> im(100,100)
ans =
66
>> double(im(100,100))
ans =
66
그리고 검사 유형 : 한편
>> class(im)
ans =
uint8
>> class(double(im))
ans =
double
우리는 매트릭스 ([0 1]
에) 재 스케일링하고 클래스도 double
로 변경 im2double
을 사용
>> imd(100,100)
ans =
0.2588
>> class(imd)
ans =
double
고마워,하지만 이것과 출력의 차이점은 무엇입니까 = double (im) + noise; – william007
@ william007 업데이트를 확인하십시오. – NKN