Circular region in an image
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Sordin
 el 15 de En. de 2018
  
    
    
    
    
    Comentada: Image Analyst
      
      
 el 18 de Jul. de 2018
            I am trying to replace a circular region in one image with the corresponding region in another image. Here is my code so far:
% Sample images:
I=imread('office_1.jpg');
I2=imread('office_5.jpg');
[imageSizeY, imageSizeX,z1] = size(I);
centerX = ceil(imageSizeX/2);
centerY = ceil(imageSizeY/2);
radius = 200;
for i=1:max(imageSizeY,imageSizeX)
      if (((centerY+i) - centerY).^2 ...
              + ((centerX+i) - centerX).^2 <= radius.^2)
          I(centerY:centerY+i, centerX:centerX+i, :) ...
              = I2(centerY:centerY+i, centerX:centerX+i, :);
      end
end
imshow(I)
Unfortunately, my code does not work correctly, and instead of a circle the result is a square (corresponding to only one quadrant of the desired circle):

What are the mistakes here? Any explanation is greatly appreciated.
0 comentarios
Respuesta aceptada
  Matt J
      
      
 el 15 de En. de 2018
        
      Editada: Matt J
      
      
 el 15 de En. de 2018
  
      I don't really follow the logic of your code, but in any case there are much simpler and more efficient approaches, e.g.,
   [yy,xx,~]=ndgrid(  (1:imageSizeY)-centerY, (1:imageSizeX)-centerX ,1:z1);
   map=(yy.^2+xx.^2<=radius^2);
   I(map)=I2(map);
3 comentarios
  Image Analyst
      
      
 el 16 de En. de 2018
				
      Editada: Image Analyst
      
      
 el 16 de En. de 2018
  
			Does this work for his color image?
Más respuestas (2)
  Prince Masedi
 el 18 de Jul. de 2018
        II. Determine the following statistical parameter using Matlab program (Note you must copy and paste your code on the answer booklet. (1. Error variance, 2. Assume X=Rainfall Y=Runoff fill in the table with respective determined square of (X-Xm) where Xm is the mean of X and determine estimated Y termed as Yest.
1 comentario
  Image Analyst
      
      
 el 18 de Jul. de 2018
				How does this answer the original question about pasting circular regions into an image?
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!