多数のスキャンした画像を画像処理ソフトで画質調整を行うことをちょくちょくやっています。
枚数が多いため(1回で数百枚単位)、画像処理ソフトと自動運転ソフトを組み合わせてバッチ処理をやらせていますが、この間PCが使えません。
ですのでいっそ、自分でソフトを作ってしまおうと考えたのですが、画質調整のためのアルゴリズムがわかりません。
手順としてはスキャン画像に対し、グレイスケール化->レベル補正->シャープネス->減色です。
このうち、レベル補正だけが、手ごろなアルゴリズムの解説が見つからず困っています。
どこかにこうした画像処理のアルゴリズムを解説しているWebはないでしょうか。
VBとかCのサンプルがあれば最高ですが、なくてもいいです。贅沢はいいません。
No.2ベストアンサー
- 回答日時:
>サンプルも書いていただいてありがたいのですが
>これは輝度分布の抽出でしょうか。
>知りたいのはこのあとの補正アルゴリズムです。
だったら、そう書いてください。
例えるなら輝度分布の下限n%の範囲の画素に任意の値を引く、あるいは係数を掛ける、あるいは定数に置き換えるをすれば、貴殿が言う暗いところは●●にできます。
リニアにやりたいなら、変換テーブルを作る、あるいは式を用意すればできます。
貴殿クラスなら自在にプログラムできると思いますよ。
No.1
- 回答日時:
なんか難しいことをしてますね。
^^;ファイルサイズを小さくするのか、輪郭抽出するような内容でしょうか・・・
参考にならないかも知れませんが、
Private Sub Command3_Click()
Dim i As Integer
Dim a As Double
Dim aR As Double
Dim aG As Double
Dim aB As Double
Dim RR(256) As Integer
Dim GG(256) As Integer
Dim BB(256) As Integer
Dim X As Integer
Dim Y As Integer
Picture1.Picture = LoadPicture("c:\test.bmp")
For X = 1 To 50
For Y = 1 To 50
a = Picture1.Point(X, Y)
Text1.Text = a
aB = Int(a / 65536)
aG = Int((a - aB * (65536)) / 256)
aR = a - aB * (65536) - aG * 256
For i = 0 To 255
If i = aR Then RR(i) = RR(i) + 1
Next
Next
Next
End Sub
で、
RR(n)のnは輝度に相当するので、これで画像のレベルは判ると思います。
グレイスケール化しているようですので、RGB分離は不要でしたね。
このあと、輝度のmax-minを調べたり、シフトさせる量を決めたりして補正すれば・・・
外してたらすみません。
サンプルも書いていただいてありがたいのですが、これは輝度分布の抽出でしょうか。
知りたいのはこのあとの補正アルゴリズムです。
暗い部分は暗く、明るい部分は明るくなどしたり、コントラストをきょうちょうしたりなどです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
平均値と標準偏差を逐次計算す...
-
visual basic プログラミング
-
Stuck
-
Dijkstraて
-
gooという検索エンジンの後にGo...
-
ハノイの塔のさいきアルゴリズ...
-
組み合わせを選ぶためのプログ...
-
パズルが好きな人ってプログラ...
-
アルゴリズムとプロトコールの違い
-
質の良い乱数とはなんでしょうか?
-
ハッシュアルゴリズム
-
アルゴリズムの将来性について
-
あるプログラムのコマンドライ...
-
PICマイコンのコピー(クローン...
-
65536は2の何乗なのでしょうか?
-
Excelで4096点以上のFFTの方法
-
VBAで仕様書は書きますか?
-
fortran if文
-
EXCELなどで「返す」という表現
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
アルゴリズムとプロトコールの違い
-
BCDについて
-
[ EXCEL VBA ] 図形を読み込む...
-
グループを均等に分けるには?...
-
乗換案内の作り方が知りたいです。
-
期間重複チェックがわかりません
-
ハノイの塔のさいきアルゴリズ...
-
C# 再帰よるスタックオーバー...
-
ハッシュアルゴリズム
-
偏りのある乱数のアルゴリズム
-
データを圧縮したい
-
画像の類似検索
-
あいまい検索(文字列一致率)
-
多変数関数の最小値を求めるプ...
-
ゲームプログラミングC/C++、SR...
-
ルービックキューブの解法プロ...
-
六曜の自動計算について
-
暗号化・復号化のアルゴリズム...
-
ランダムサーチ(改)!!
おすすめ情報