나는 256x256 이미지를 가지고 있으며 이것을 16x16 블록으로 분할하려고합니다. 그런 다음 각 블록의 LSB를 0으로 설정하려고합니다. 그런 다음 사용자 키, 이미지 ID, 이미지의 너비와 높이, 블록의 인덱스 및 이미지 블록 X '(X'는 LSB 마녀를 제외하고 이미지 블록 X와 동일합니다.)와 함께 MD5 함수를 사용하려고합니다. 0으로 설정 됨)을 매개 변수로 사용합니다. 그런 다음 MD5 함수로 생성 된 해시와 내 워터 마크의 해당 블록간에 배타적 논리합 연산을 수행하고이 결과를 내 이미지 블록의 LSB에 삽입하여 워터 마크가 삽입 된 이미지 블록을 가져 오려고합니다. 나는 blockproc 함수를 사용하려고하는데, 이것에서 재미로 무엇을 사용해야할지 모른다. 인터넷에서 아무것도 찾을 수 없었습니다. 도움을 주셔서 감사 드리며 제 영어를 유감스럽게 생각합니다!Matlab : 이미지를 블록으로 분할하고 각 블록의 LSB에 워터 마크 넣기
0
A
답변
1
기본 모드에서 imread를 사용할 수 있습니다. 그런 다음 블록을 바이트와 비트로 변환 할 수 있습니다. 그런 다음 원하는 비트를 바꿀 수 있습니다.
불충분 한 영어 (영어가 실제로 영어가 훌륭하다는 증거가 있음)는 여기에 대한 좋은 대답을 방해하지 않습니다. 코드를 보여주지 않으면 그다지 지장이 없습니다. 코드가 없으면 많은 SOers가 주름을 없애기보다는 우리가 당신을 위해 당신의 일을해야한다는 생각을하게됩니다. –
미안하지만 다른 사람이 내 일을하고 싶다는 인상을주었습니다. 물론 나는 그런 것을 원하지 않는다. 그러나 필요한 모든 xor 작업을 수행하고 코드 개발을 시작하기 위해 이미지 블록과 해당 워터 마크 블록에 동시에 액세스해야한다는 것이 문제이므로 코드를 생성 할 수 없습니다. blockproc을 사용하십시오. 요약하면, 내 문제는 어떻게 blockproc을 사용하여 동시에 두 개의 이미지로 블록을 가져갈 수 있는가이다. – Koproskylo