■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#30867-0RE#30864:画像変換TAK2000-09-30(土) 11:32
     #30871-0RE#30867:画像変換suuta2000-09-30(土) 17:09
     #30886-0RE#30867:画像変換連雀2000-10-01(日) 00:43
#30867-0
RE#30864:画像変換
>よねKENさん
ご指摘ありがとうございます。
自分でも、馬鹿な間違いだなと反省してますm(__)m

>連雀さん
ノイズ除去に似た変換フィルタで、最小値フィルタのプログラム。。。です(苦笑)
画像はカラーから持ってきて、全体的にモノクロに近い画像になるはずなのです(^^;<完成形
それが、なぜか出力されるとの画像しか出てこなくて。。。
どこを修正するか見当がつきません(涙) もしよかったら、教えてください。

修正後



Private Sub filter(size As Integer)

    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
    Dim sz As Integer  '注目ピクセルを中心として、size分の半径を対象とする。
  Dim dmin As Single
    
    Picture1.ScaleWidth = 320
    Picture1.ScaleHeight = 240
    
    '砂時計
    Screen.MousePointer = vbHourglass
    
    'タイトルバーにメッセージを表示
    Form1.Caption = "作業中..."
    
    sz = Int(size / 2)
    
    For j = sz To Picture1.ScaleHeight - 1 - sz
        For i = sz To Picture1.ScaleWidth - 1 - sz
            dmin = 255
            For k = j - sz To j + sz
                For l = i - sz To i + sz
                    If dmin > Picture1.Point(i, j) Then dmin = Picture1.Point(i, j)
                Next l
            Next k
            Picture2.PSet (i, j), dmin
        Next i
    Next j
#30871-0
RE#30867:画像変換
>             dmin = 255
>             For k = j - sz To j + sz
>                 For l = i - sz To i + sz
>                     If dmin > Picture1.Point(i, j) Then dmin = Picture1.Point(i, j)
>                 Next l
>             Next k

ここのdmin = 255がいけないのでしょう。
255は赤をあらわしているので、Pointメソッドの返り値と比べても
色に緑と青がまったく含まれていない時しか
dmin = Picture1.Point(i, j)
は実行されません。
結果、少しでも緑や青を含んでいる場合は255(赤)を出力し
それ以外の場合でも出力するのは0〜255(黒〜赤)になっています。
連雀さんの回答(#30864)をもう一度よく読んでください。
#30886-0
RE#30867:画像変換
> ノイズ除去に似た変換フィルタで、最小値フィルタのプログラム。。。です(苦笑)
> 画像はカラーから持ってきて、全体的にモノクロに近い画像になるはずなのです(^^;<完成形

最小値フィルタで、カラー画像がモノクロに近くなるというのがよくわかりません。
このモノクロとは黒白2値のモノクロ? グレースケール?

グレースケールに近づけるには、各ピクセルのRGBをHLSに変換して、鮮やかさを
最小値フィルタで下げてRGBに戻せばできるでしょうが、これはノイズ除去ではなく
色彩除去ですね。

# 色の選択ダイアログボックスで、何か基本色を選んだ後 [色の作成(D)>>]ボタン
# を押して、鮮やかさの数値を下げればグレーに近づくのが確認できます。

実際にやりたいのはノイズ除去なのか、コントラストの強調なのか、その他のこと
なのか、最小値フィルタが適当 or 課題なのかわかりません。
このページと関連する記事:
#2332-12値画像のノイズ除去2001-12-03(月) 09:34
#2332-02値画像のノイズ除去2001-12-03(月) 18:34
#18691-0画像の拡大・縮小について…2001-02-13(火) 01:49
#22626-0PictureBoxのPont2001-08-23(木) 16:32
#284-4オリジナル画像エディタを作りだいんですが…2003-11-28(金) 02:29
#31247-0PaintPictureで変更した画像を元にもどす。2000-10-05(木) 16:27
#1039-0画像の回転について。2002-06-22(土) 14:05
#45960-0savepicture関数について2001-08-20(月) 10:51
#573-1モノクロ画像の色調変更2002-05-28(火) 06:00
#1189-1角度によって図を回転させる方法1999-07-12(月) 10:43
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)