Image authentication using color information
이전 댓글 표시
I am using attached script for splitting the image into 21 blocks (for Red, Green and Blue channels) and then compare each block pixel by pixel.
However, I want to do some changes as below:
1) How can I divide the image automatically into n number of equal blocks ( so I will just have to say 10 and it will divide the image into 10 equal size blocks).
2) I used isequal() function for comparison two blocks. How can I get the distance between two blocks. (Like Euclidean distance or something)
3) How to compare RGB histogram for each block. (Here I think it is possible to only compare the Y axis as X axis of the histogram will be 0 to 255 for all the blocks.) I know how to generate histogram but I dont know how to use that information for the comparison.
4) How can I keep some threshold e.g after comparison if all the blocks are matching > 98% then it is a true image OTW false image detected.
Thank you in advance.
댓글 수: 11
Guillaume
2018년 12월 3일
You've told us what you want to do but you haven't asked any actual question, so it's unclear what help you need.
"As isequal() was giving error for A x B x 3 block. It can only compare A x B type blocks."
isequal does not care one bit about the number of dimensions of the input. It will work just as well with an AxBx3 input as an AxB input or even an AxBxCxDxEx... input. If the two inputs don't have the same number of dimensions, isequal job is easy, the answer is false.
Devarshi Patel
2018년 12월 3일
Guillaume
2018년 12월 3일
How can I divide the image automatically into n number of equal blocks ( so I will just have to say 10 and it will divide the image into 10 equal size blocks)
Dividing an image into a non-prime number of blocks is easy. However, if the image size is not a multiple of the number of blocks,it's going to be difficult to divide it into blocks all the same size.
Also, if it is to be divided into 10 blocks, is it 5x2 or 2x5 blocks?
Devarshi Patel
2018년 12월 3일
편집: Devarshi Patel
2018년 12월 3일
Image Analyst
2018년 12월 6일
Why do you want to "compare" images in this way? What's the use case? Is it to test quality of compression/restoration? Forensics? Forgeries? What? If we knew what it was for we could point to the right place to find the right algorithms for that purpose.
Devarshi Patel
2018년 12월 6일
편집: Devarshi Patel
2018년 12월 7일
Devarshi Patel
2018년 12월 7일
Devarshi Patel
2018년 12월 10일
Guillaume
2018년 12월 10일
1) The paper you've attached is copyrighted and not open access. Can you please remove the attachment?
Devarshi Patel
2018년 12월 10일
Devarshi Patel
2018년 12월 10일
편집: Devarshi Patel
2018년 12월 10일
채택된 답변
추가 답변 (2개)
Image Analyst
2018년 12월 7일
0 개 추천
Maybe you should just try ro register the images with imregister() and then use immse() and ssim().
Or you could also use Hu's moments
Or any of the feature matching things in the Computer Vision System Toolbox.
댓글 수: 3
Devarshi Patel
2018년 12월 7일
Image Analyst
2018년 12월 7일
There are so very many things that could possibly be measured. For one, you could just compute the RGB histograms of each image. Better, why don't you look up forgery or forensics in VisionBibliography and you'll find lots of algorithms. Pick one or two and code them up:
Devarshi Patel
2018년 12월 7일
카테고리
도움말 센터 및 File Exchange에서 Image Arithmetic에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!