0

私はMatlabが初めてで、グレースケール画像をバイナリに変換しようとしています。組み込み関数にim2bwI(I,level)は、レベルよりも低い強度値を持つすべてを黒にし、すべてを白にするしきい値が 1 つしかありませんが、特定の範囲の値のみが黒くなるようにするにはどうすればよいですか? たとえば、強度値 89 のピクセルが黒になり、値 70 と 102 が白になるように設定するにはどうすればよいですか?

4

2 に答える 2

2

これには、論理アドレス指定を使用できます。0 が黒、255 が白で、グレースケール画像がImageMatrix. 白と黒の値は、画像の色深度 (6 ビット、8 ビットなど) に依存することに注意してください。

コードは次のとおりです。

% 89 のすべての値を 0 (黒) に置き換えます。

ImageMatrix(ImageMatrix == 89) = 0;

% 70 または 102 のすべての値を 255 (白) に置き換えます。

ImageMatrix(ImageMatrix == 70 | Imagematrix == 102) = 255;

MinValueからまでの範囲の値を にMaxValue置き換える場合NewValue:

% 値の例をいくつか設定します (値 192 ... 255 を 63 に置き換えます):

MinValue = 192;
MaxValue = 255;
NewValue = 63;

ImageMatrix(ImageMatrix >= MinValue & ImageMatrix <= MaxValue) = NewValue;
于 2012-05-04T22:12:32.907 に答える
0

答え: (I を処理対象の画像とします)

I(I == 89) = 0
I(I == 70 | I == 102) = 255

実際の MATLAB テスト (R2012a) :

K>> I = ceil(rand( 12 ) * 34 + 69)

I =

    98    94   101    74   102    80    78    86    78   100   101    74
   100   103   102   100    72   101    99    98    88    96   101    87
    74    74    83    88    94    94    84   100    87   100    86    88
    96    90    85    91    99    84    94    96    70    81    77    85
    73    95    91    71    78    84    72    99    98    89    93   103
    88    71    83    97    90    71    76    93   100    81    99    89
   101    81    86    75    88    88    72    90    87    80    94    89
    99    73    86    99    86    74   101   102    81    70    75    77
    95   100    78    92    92    70    81    91    90    89    85    74
    93    86    95    88    70    92    86    83   100    77    82    71
    79    84    87    95    83    97    89    87    82    98    82    85
    80    93    92    84   100    89    85    85    97    87    79    99

K>> I == 89

ans =

     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0

K>> I == 70

ans =

     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0

K>> I == 102

ans =

     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0

K>> I(I == 89) = 0

I =

    98    94   101    74   102    80    78    86    78   100   101    74
   100   103   102   100    72   101    99    98    88    96   101    87
    74    74    83    88    94    94    84   100    87   100    86    88
    96    90    85    91    99    84    94    96    70    81    77    85
    73    95    91    71    78    84    72    99    98     0    93   103
    88    71    83    97    90    71    76    93   100    81    99     0
   101    81    86    75    88    88    72    90    87    80    94     0
    99    73    86    99    86    74   101   102    81    70    75    77
    95   100    78    92    92    70    81    91    90     0    85    74
    93    86    95    88    70    92    86    83   100    77    82    71
    79    84    87    95    83    97     0    87    82    98    82    85
    80    93    92    84   100     0    85    85    97    87    79    99

K>> I(I == 70 | I == 102) = 255

I =

    98    94   101    74   255    80    78    86    78   100   101    74
   100   103   255   100    72   101    99    98    88    96   101    87
    74    74    83    88    94    94    84   100    87   100    86    88
    96    90    85    91    99    84    94    96   255    81    77    85
    73    95    91    71    78    84    72    99    98     0    93   103
    88    71    83    97    90    71    76    93   100    81    99     0
   101    81    86    75    88    88    72    90    87    80    94     0
    99    73    86    99    86    74   101   255    81   255    75    77
    95   100    78    92    92   255    81    91    90     0    85    74
    93    86    95    88   255    92    86    83   100    77    82    71
    79    84    87    95    83    97     0    87    82    98    82    85
    80    93    92    84   100     0    85    85    97    87    79    99
于 2013-03-28T23:01:43.680 に答える