이미지를 자동 레벨하려고합니다. 내 코드는 다음과 같습니다.AutoLevel (Channels.RGB)이 효과가없는 것으로 보입니다.
MagickImage image = new MagickImage(stream);
image.AutoLevel(Channels.RGB);
나중에 코드를 웹 응답으로 보내 드리겠습니다. 어떤 이유로이 코드는 이미지에 아무런 영향을 미치지 않습니다. 원본과 완전히 똑같아 보입니다. 다음으로 변경하는 경우 :
MagickImage image = new MagickImage(stream);
image.Posterize(2);
그러면 필터가 적용된 것을 확인할 수 있습니다.
AutoLevel에는 무엇이 누락 되었습니까?
업데이트 : 코드 시도
:
var image1 = Image.Clone();
Image.AutoLevel(Channels.RGB);
var diff = Image.Compare(image1, ErrorMetric.RootMeanSquared);
와 DIFF의 값이 0.0 인 상태에서이 코드 (그리고 사용하여 동일한 이미지)와 :
var image1 = Image.Clone();
Image.Equalize();
var diff = Image.Compare(image1, ErrorMetric.RootMeanSquared);
diff의 값은 0.315입니다.
명확히하기 위해 사용하는 사진에 관계없이 diff 값은 0.0입니다. – Juvaly