2012-04-08 53 views
0

私はニューラルネットワークを使った文字認識プロジェクトに取り組んでいます。 私の最初の目的は、どこのアルファベットを見つけた画像からそれらのピクセルを読み取ることです。私は、画像A、B、Cの3つのアルファベットがランダムな場所にある場合、どのようにA、B、Cのピクセル値を読んで行列に格納するのでしょうか?個々のピクセルを画像から行列に読み込む

+0

この画像をJavaプログラムまたはmatlabプログラムに読み込みますか? – daveb

+0

Matlab。私は行列の文字ピクセルを処理したい、matlabはjavaよりも効率的に行列を処理することができます。 – user1154684

答えて

0

質問はあまり明確ではありません。あなたはA.png、B.pngなどのような画像ファイルを持っていて、マトリックス内の画素値をしたいという意味ならば、あなたはこれがあなたに幅を与える

image = imread('A.png'); 

とMATLABでRBG行列を作成することができますRGB値の-height-3行列。


イメージへのリンクありがとうございます。もう一度お試しください。 :-)

したがって、それぞれの文字がどこにあるかを手動で言いたくない場合は、自動的に検索する必要があります。これを行うには、黒色の&白に変換してから、bwconncompを使用して各文字のピクセルを探してみましょう。

image = imread('A.png'); 
ibw = im2bw(image); 
C = bwconncomp(image); 
boxes = regionprops(C, 'BoundingBox'); 
letters = cell{26}; 
for i=1:26 
    %get left, top, width, height from boxes(i).BoundingBox 
    %I'm not on matlab at the moment, so I don't know exactly how to 
    %but it should be quite easy. 
    letters{i} = image(left:left+width, top:top+height, :); 
end 

我々が接続されているコンポーネントを見つけた後、私たちはregionpropsを使用してバウンディングボックスを取得し、別の画像に各バウンディングボックスを置きます。あなたが行うことができます

+0

ランダムな座標に異なるサイズの3つのアルファベットA、B、Cを表示するimage.jpegというイメージファイルが1つあります。私はマトリックス内のA、B、Cのピクセル値を読みたいと思います。 – user1154684

+0

この画像へのリンクを提供できますか?まだあなたが望むものは本当に確かではありません。 – Richante

+0

http://www.soundonsight.org/wp-content/uploads/2011/02/alphabet.gifここで、アルファベットA B Cなどの個々の行列のピクセルをどのように読み取るのですか。また、画像内の文字は手書きである場合があります。 – user1154684

0

:Javaを使用する場合

imageA=imread('imageA.jpg'); 
pixel1=imageA(y,x,:); 
0

、あなたが最初に、BufferedImageとしてのイメージを読み込むことができます。

BufferedImage image = ImageIO.read(imageUrl); 

そしてあなたが個々のピクセルのRGB値を取得することができます。

image.getRGB(x, y); 

また、Colorオブジェクトを使用して、RGB整数値を個々のカラーコードに解析することもできます。

Color color = new Color(image.getRGB(x,y)); 
int red = color.getRed(); 
int green = color.getGreen(); 
int blue = color.getBlue(); 

これ以降、あなたが望むものは何でもできます。私は過去に同じことをしてきました。私の推奨は、すべての色を使って検索スペースを広げすぎてはいけないということです。黒と白も初めにやります。

関連する問題