Circular region in an image
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Matt J
il 15 Gen 2018
Modificato: Matt J
il 15 Gen 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 Commenti
Image Analyst
il 16 Gen 2018
Modificato: Image Analyst
il 16 Gen 2018
Does this work for his color image?
Più risposte (2)
Prince Masedi
il 18 Lug 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 Commento
Image Analyst
il 18 Lug 2018
How does this answer the original question about pasting circular regions into an image?
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!