tableをpdfに保存する方法

11 Ansichten (letzte 30 Tage)
萌香
萌香 am 20 Jun. 2022
Beantwortet: Hiro Yoshino am 21 Jun. 2022
こんにちは。
画像処理をしており、
・処理した画像
・画像から検出したオブジェクトのプロパティ値(面積等)を並べたテーブル
・プロパティ値のヒストグラム
を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 Kommentare
Hernia Baby
Hernia Baby am 20 Jun. 2022
バージョンによって提案内容が異なると思います。お手数ですが、お使いのバージョンを教えてください。
萌香
萌香 am 20 Jun. 2022
Bearbeitet: 萌香 am 20 Jun. 2022
コメントありがとうございます。R2022aを使っております。

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Hernia Baby
Hernia Baby am 20 Jun. 2022
おそらく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 am 21 Jun. 2022
コードを書かなくても、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 出力されます。

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!