tableをpdfに保存する方法

10 ビュー (過去 30 日間)
萌香
萌香 2022 年 6 月 20 日
回答済み: Hiro Yoshino 2022 年 6 月 21 日
こんにちは。
画像処理をしており、
・処理した画像
・画像から検出したオブジェクトのプロパティ値(面積等)を並べたテーブル
・プロパティ値のヒストグラム
をpdfに保存しようとしています。
画像は複数枚あるため、上記処理はfor文内での処理です。
ところがtableのみうまく表示されず、空白のグラフのようなものが表示されてしまいます。
tableを図に変えればよいのかと思い下記のように試みましたが結果は変わりません。
何か方法はありますでしょうか。
stats=regionprops('table',Iclr,'Centroid','Area','MajorAxisLength');
idx=stats.Area>5000;
stats(idx,:)=[];
fig=uifigure;
uit=uitable(fig,'Data',stats);
nexttile;
uit
  2 件のコメント
Hernia Baby
Hernia Baby 2022 年 6 月 20 日
バージョンによって提案内容が異なると思います。お手数ですが、お使いのバージョンを教えてください。
萌香
萌香 2022 年 6 月 20 日
編集済み: 萌香 2022 年 6 月 20 日
コメントありがとうございます。R2022aを使っております。

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

回答 (2 件)

Hernia Baby
Hernia Baby 2022 年 6 月 20 日
おそらくuifigureの範囲指定ができていないことが原因だと思われます。
簡単な例を作りましたので試してください。
clc,clear,close all;
BW = imread('text.png');
stats = regionprops('table',BW,'centroid','Area','MajorAxisLength');
idx = stats.Area > 20;
stats(idx,:)=[];
ここで'Position'を設定することで解決できるはずです。
fig = uifigure('Name','test','Position',[200 200 500 400]);
uit=uitable(fig,'Data',stats,'Position',[10 10 400 350]);
後はexportappで出力すれば完成です
exportapp(fig,'test.pdf')

Hiro Yoshino
Hiro Yoshino 2022 年 6 月 21 日
コードを書かなくても、Live Editor の機能を使えば、そのまま pdf 出力ができます。
Live Editor を開いて
% サンプル table データ
filename = 'myCsvTable.dat';
% ;を無しにして table を表示させておきます
T = readtable(filename)
T = 5×6 table
LastName Gender Age Height Weight Smoker ____________ ______ ___ ______ ______ ______ {'Smith' } {'M'} 38 71 176 1 {'Johnson' } {'M'} 43 69 163 0 {'Williams'} {'F'} 38 64 131 0 {'Jones' } {'F'} 40 67 133 0 {'Brown' } {'F'} 49 64 119 0
imshow("football.jpg")
とした後に、リボンから
MATLAB > Live Editor > Export > pdf とすれば、talble もイメージもそのまま pdf 出力されます。

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

Community Treasure Hunt

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

Start Hunting!