semanticsegによるセグメンテーション後の画像の保存
7 views (last 30 days)
Show older comments
下記記述によってsemanticsegを実行した後の複数の画像をtempdirのディレクトリに保存したのですが、すべて画素値が0の画像が保存されていました。適切な画像を保存したいのですが、どのように修正すればよいでしょうか。ご助言お願い致します。
dataSetDir = fullfile(toolboxdir('vision'),'visiondata','triangleImages');
testImagesDir = fullfile(dataSetDir,'testImages');
testLabelsDir = fullfile(dataSetDir,'testLabels');
imds = imageDatastore(testImagesDir);
classNames = ["triangle","background"];
labelIDs = [255 0];
pxdsTruth = pixelLabelDatastore(testLabelsDir,classNames,labelIDs);
net = load('triangleSegmentationNetwork');
net = net.net;
tempdir=fullfile('C:\tempdir');
pxdsResults = semanticseg(imds,net,"WriteLocation",tempdir);
0 Comments
Accepted Answer
Kei Otsuka
on 19 Oct 2018
記載して頂いた例の場合、セグメンテーションの結果得られるクラスの数は2ですので、
取り得る輝度値は0か1となります。表現可能な輝度レンジ[0 255]に対して低輝度に分布が偏っているため、
真っ黒な画像に見えているだけではないでしょうか。
\n
もし画像の輝度値がすべて0であれば、以下を実行した結果が0になるはずですが、
確認してみてください。
imds2 = imageDatastore(tempdir);
img = readimage(imds2, 1);
sum(img(:))
0 Comments
More Answers (1)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!