|
分類:[C/C++]
こんにちは。またopencvネタです。
画像の模様の細かさ(粗さ)を数値化したくていろいろ試しています。
↓の様なインターフェイスにして、細かさのレベルを分けられるよ
うにしたいのですが。良い手をご存知の方おられませんでしょうか。
CPUを食わない簡易な方法であれば歓迎です。
よろしくおねがいいたします。
#include <iostream>
#include "opencv2/opencv.hpp"
/*
例えば砂粒の画像を見せると"細かい"と答え、
例えば石ころの画像を見せると"粗い"と答える
*/
int computeFineness(cv::Mat const& img) {
int fineness = 0;
//バックグラウンドを引いてから2値化
//アップダウンを数える
//ラベリングしてみる
//いろいろやったけど決定打なしorz
return fineness;
}
/*
お試し
*/
void main(void)
cv::Mat img = cv::imread("anImage.bmp", 1);
std::cout << computeFineness(img) << std::endl;
}
|