- 二値化は万能な方法が困難で色々検討が必要です(下記はimbinarize関数任せにしています)
- メモリに入らない程大量の画像は読み込めません。read関数で1枚ずつ処理するのが無難です
- 下記は2枚の画像をサンプルとしましたが「フォルダ下に含まれる画像」等の形で処理できます
複数の画像に対する処理の仕方がわかりません
조회 수: 16 (최근 30일)
이전 댓글 표시
複数枚ある画像に対しての処理のやり方が分かりません。
下記の手順のことをやりたいと考えています。
複数画像を読み込む
読み込んだ画像を二値化
二値化画像の白色部分の面積を出す
面積を A1, A2,.... ,Anといったような変数に入れる
面積の平均を出す
ご教授いただけると幸いです。
댓글 수: 0
채택된 답변
Atsushi Ueno
2022년 11월 17일
fs = matlab.io.datastore.FileSet(["street1.jpg","coins.png"]); % サンプルは2枚だけ
imds = imageDatastore(fs);
Is = readall(imds) % 複数画像を読み込む
BWs = cellfun(@(x) imbinarize(im2gray(x)),Is,'uni',false) % 読み込んだ画像を二値化
As = cellfun(@(x) sum(x,'all'),BWs) % 二値化画像の白色部分の面積を A1, A2,.... ,Anといったような変数に入れる
AveArea = mean(As) % 面積の平均を出す
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!