How to draw rectangles along the tampered region of an image ?

I have already determined the blocks of an image which are tampered.I want to draw a box over around this blocks and show the same in original image.Can any one please suggest any method for the same.
for i=1:64
if(abs(H(i)-Hm3(i))>1)
imshow(Block0(:,:,i); %tampered block i
[x]=FirstPositionBlock(i,:); %coordinate values of the first pixel of tampered block
end
end
If J is the original image how can i get the box drawn on the image corresponding to the tempered blocks of the image.

 Respuesta aceptada

Más respuestas (2)

Erik S.
Erik S. el 8 de Feb. de 2015
Hi You can use the function
annotation('rectangle',[x y w h])

1 comentario

Thank you for your response.
I used the statement as you said but it showed the error
"Error using annotation (line 129) position values must be between 0 and 1"
The following was what I gave in my program
annotation('rectangle',[x(1) x(2) x(1)+32 x(2)+32]);

Iniciar sesión para comentar.

Erik S.
Erik S. el 8 de Feb. de 2015
Hi, I just saw in the documentation that the inputs should be normalized. Try to divide x(1) width image width and x(2) with image height, same for rectangle width and height.

3 comentarios

But it is not possible since normalized value should be between 0 and 1. Can you please suggest any other method.
Hi,
Can you upload the file please and state the coordinates where you want the rectangle?
I used
shapeInserter = vision.ShapeInserter;
f=int32(x(1));
g=int32(x(2));
rectangle = [g f 32 32];
J1 = step(shapeInserter, J1, rectangle);
and got small small rectangles around each block not an entire rectangle.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 8 de Feb. de 2015

Respondida:

el 8 de Feb. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by