그래서 특정 회색 음영 이미지가 바이너리 파일로 있습니다. 이미지에서 빨간색이 나타나면 일련의 값을 한 값으로 바꾸고 나머지 행렬은 그대로 둡니다. 값 인식 및 바꾸기 matlab
는이 코드if myimage < 20
myimage = 0;
else if 20 < myimage <40
myimage = 20;
else if 40 < myimage < 60
myimage = 40;
else if 60<myimage<80
myimage = 60;
end
end
end
end
을 사용하지만 어떤 이유로 이미지를로드하지 못했습니다. 일부 디버깅 후 나는 "else if 20 ...."행 다음에 파일이 "20"값을 가진 1 x 1 행렬이되었다는 것을 알아 냈습니다. 아무도 정확히 왜 이런 일이 일어나는지 알아낼 수 있습니까? 감사.
변수'myimage'는 값의 행렬이고, 여러분이 여기서하는 일은 그것을 스칼라로 다루는 것입니다. 귀하의 비교 표현과 과제 문장은 귀하가 기대하는대로 행동하지 않습니다. 대신에 특정 요소의 인덱스를 찾고 변경해야합니다. [MATLAB의 행렬 색인 생성] (http://www.mathworks.com/help/matlab/math/matrix-indexing.html)에 대한 자세한 내용을 읽고 거기에서부터 작업해야합니다. –
이미지를 반복하여 myimage (X, Y) <20과 같이 처리해야합니까? – user2475404
예, 좋은 시작입니다. 귀하의 경우에는 다음과 같이 생각하십시오 : 20 * floor (myimage/20);, 전체 이미지를 한 번에 처리 할 수 있습니다. – Peter