我有以下问题规范:
创建一个带有黑色(0)边框的(400 x 400)位图白色(255)图像,以模拟"图片框"。框架应距离所有边缘10个单位。将此图像另存为" ImageFrame.bmp"。现在,插入" Parrot.png"进入"画框"。找到鹦鹉图片的中心,以及框架的中心并放置鹦鹉。
我制作了相框,但我无法弄清楚如何将鹦鹉添加到“相框”中。帮助真的很感激!鹦鹉图片是200 X 150。
以下是我试图解决此问题的代码
ImageParrot = imread('Parrot.png','png');
ImageBlank = uint8(zeros(200,150))
ImageBlank = 255 * uint8(ones(400,400))
imshow(ImageBlank)
ImageFrame = ImageBlank
ImageFrame(10:390,10) = 0;
ImageFrame(10,10:390) = 0;
ImageFrame(10:390,390) = 0;
ImageFrame(390,10:390) = 0;
imshow(ImageFrame)
imwrite(ImageFrame,'ImageFrame.bmp')
imshow(ImageParrot)
ImageParrotLarge = imresize(ImageParrot,2)
imshow(ImageParrotLarge)
ImageParrotRotate = imrotate(ImageParrot,90)
ImageParrotRotate = imrotate(ImageParrot,45)
imshow(ImageParrotRotate)
ImageParrotStretched = imagesc(400,400,ImageParrot)
ImageNewParrot = 255 * uint8(ones(400,400));
ImageNewParrot(40:end,40:end) = ImageParrot
imadd(ImageFrame,ImageParrot)
答案 0 :(得分:0)
您已经回答了这个问题的前两部分:
假设图像是灰度,您可以将图像插入帧的中心,如下所示:
% // Get the centre of the picture frame
[rowsFrame, colsFrame] = size(ImageFrame);
picFrameCenRow = rowsFrame / 2;
picFrameCenCol = colsFrame / 2;
% // Get dimensions of parrot image
[rowsParrot, colsParrot] = size(ImageParrot);
% // Place the parrot in the centre
ImageFrame(picFrameCenRow-(rowsParrot/2) : picFrameCenRow+(rowsParrot/2)-1, ...
picFrameCenCol-(colsParrot/2) : picFrameCenCol+(colsParrot/2)-1) = ImageParrot;
这应该将您的鹦鹉图像放在ImageFrame
的中心,存储在ImageFrame
中。