setting image position centered
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示

I have an image in the figure as shown above.
I want to display region of interest (white portion) at the center of the figure window (align centered position-registration). How can I do it?
Please explain. Thank you.
採用された回答
Image Analyst
2022 年 5 月 7 日
編集済み: Image Analyst
2022 年 5 月 7 日
rgbImage = imread('image.png');
subplot(2, 1, 1);
imshow(rgbImage)
axis('on', 'image')
% Get binary image from the RGB image the poster attached.
binaryImage = rgbImage(:, :, 1) > 128;
% Find centroid.
props = regionprops(binaryImage, 'Centroid')
% Translate the image.
xt = props.Centroid(1)
yt = props.Centroid(2)
% Get center of image
[rows, columns, numberOfColorChannels] = size(binaryImage)
xc = columns/2;
yc = rows/2;
deltax = xc - xt
deltay = yc - yt
hold on;
plot(xt, yt, 'r+', 'LineWidth', 2, 'MarkerSize', 60);
centeredImage = imtranslate(rgbImage,[deltax deltay],'FillValues', 0);
subplot(2, 1, 2);
imshow(centeredImage)
axis('on', 'image')
% Draw center lines.
xline(xc, 'LineWidth', 2, 'Color', 'r');
yline(yc, 'LineWidth', 2, 'Color', 'r');

9 件のコメント
image-pro
2022 年 5 月 7 日
Field reference for multiple structure elements that is followed by more reference blocks is an error.
Error in centre (line 13)
xt = props.Centroid(1);
Walter Roberson
2022 年 5 月 7 日
That would be an error if there is more than one region in the image, but the image were asked to deal with only has one region. If there could be more than one region then the question is not well defined: what should be centered if there are multiple regions? The largest region? The centroid of the centroids of all the regions? The center of mass?
image-pro
2022 年 5 月 8 日
What will be the code to define centroid of all regions and multiple regions?
Walter Roberson
2022 年 5 月 8 日
c = vertcat(props.Centroid);
cc = mean(c, 1);
cc will now be the unweighted centroid of the centroids. This would be different than the centroid of the occupied portions of the image.
To get the centroid over the entire image use
props = regionprops( double(binaryImage), 'Centroid')
image-pro
2022 年 5 月 8 日
Undefined function or variable 'xline'.
Error in centre (line 29)
xline(xc, 'LineWidth', 2, 'Color', 'r');
Image Analyst
2022 年 5 月 8 日
You must have a really old version. Those are optional. They just put red crosshairs over the image. You can just delete those lines.
image-pro
2022 年 5 月 8 日

The output in second image is not translated(shifted in centered position). why?
Image Analyst
2022 年 5 月 8 日
Loooks like you have a huge white frame around your blobs. Why? It also looks like your image has a black caption atop the image. Why? Are these screenshots of an entire figure rather than a binary image you got from a photo?
image-pro
2022 年 5 月 8 日
Thanks a lot Image Analyst you solved my problem. Thanks
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Image Processing Toolbox についてさらに検索
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
