画像の全体サイズを変更せずに画像中の一部分のみを縮小する方法

20次浏览(最近30天)
金子 夏実
金子 夏実 2021年7月30日
评论道: 金子 夏実2021年7月31日
初歩的な質問で申し訳ありません。画像全体のサイズを変更せずに,画像中に含まれるオブジェクトのサイズのみを変更したいです。重複した説明になってしまい申し訳ないのですがたとえばこのような画像において全体のサイズ変更せずにりんごの大きさだけを縮小したいと考えております。実際の画像はグレースケール画像になっております。よろしくお願いいたします。

接受的答案

疝的婴儿
疝的婴儿 2021年7月30日
编辑:疝的婴儿 2021年7月30日
境界部分を切り取ってサイズ変更します。
画像を読み込み灰色にします。
a=imread(“apple.jpeg”);
= rgb2gray ();
imshow(一个);
同じサイズの画像bを作っておきます
b =一个;
b (:,) = 0;
閾値を決めて抜き出します
(このときサイズ変更してるので画像も粗いです)
(> 230) =南;
= imresize (0.4);
imshow(一个);
貼り付けます(背景を少しグレーにします)
[x,y]=尺寸(a);
b (1: x, 1: y) =一个;
b (b < 5) = 240;
imshow (b);
1评论
金子 夏実
金子 夏実 2021年7月30日
ご回答ありがとうございます。大変わかりやすく書いていただいたことで,理解が深まりました。imresizeのみを使用すると画像のサイズごと小さくなってしまうためとても困っておりました。自分だけでは貼り付けるという考えに至らず,回答を見て感銘を受けました。これからも精進していきたいと思います。この度はありがとうございました。

登录评论。

答案(1)

Atsushi上野
Atsushi上野 2021年7月30日
编辑:Atsushi上野 2021年7月31日
org = rgb2gray (imread (“apple.jpeg”));%以下括弧内は图像处理工具箱の対応関数
WB = org < 253;%二値化する(imbinarize)
新= org(任何(WB, 2), (WB, 1));%余白を除く(imcrop)
New = imresize_wo_toolbox(New, 0.5);%拡大・縮小(imresize)
org (,) = 255;%元画像を白紙にする
Left_top = (size(org) - size(new)))。/ 2;
org (left_top (1): (left_top大小(1)+(新1)1),...%縮小オブジェクトを元画像の中央に貼付
left_top (2):(left_top大小(2)+(新2)1))= new;
imshow(组织);
函数Ii = imresize_wo_toolbox(I, ratio)%图像处理工具箱無しのimresize
[m, n] =大小(我);
深圳=圆(大小(I)。*比率,0);
(X, Y) = meshgrid (1: n, 1: m);
[Xi, Yi] = meshgrid (linspace (1, n,深圳(2)),linspace (1 m,深圳(1)));
2 = interp2 (X, Y,双(I), Xi,易);
结束%詳細(interp2を使う)は下記のMATLAB答案等を参照
3评论
金子 夏実
金子 夏実 2021年7月31日
ありがとうございます!

登录评论。

s manbetx 845


释放

R2019b

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!