Creating a rectangle image by using an user defined function

2 ビュー (過去 30 日間)
Mert Aygün
Mert Aygün 2018 年 5 月 18 日
編集済み: Mert Aygün 2018 年 5 月 18 日
I am trying to create a rectangle image as you see but I have a problem with the equation part of the rectangle. Can anyone help to fix this up? Thank you in advance.
function outimg = RectIm(x, y)
SizeX = 256;
SizeY = 256;
[C, R] = meshgrid(1:SizeX, 1:SizeY);
centerX = 128;
centerY = 128;
rectangle = (R - centerY/2)*(C - centerX/2) <= x*y ;
outimg=image(rectangle);
colormap([0 0 0.4; 1 1 1]);
end

採用された回答

Walter Roberson
Walter Roberson 2018 年 5 月 18 日
rectangle = (R - centerY/2).*(C - centerX/2) <= x*y ;
This is not going to define a rectangle, though: it is going to define a hyperbola.
Perhaps you want
rectangle = abs(R - centerY/2) <= y/2 & abs(C - centerX/2) <= x/2 ;
  1 件のコメント
Mert Aygün
Mert Aygün 2018 年 5 月 18 日
編集済み: Mert Aygün 2018 年 5 月 18 日
This is almost what I want. Except, I would like the put the rectangle in the middle of the image. Therefore, the code should be
rectangle = abs(R - centerY) <= y/2 & abs(C - centerX) <= x/2 ;
Thank you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeModify Image Colors についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by