OCRを使ったプログラミングについて – プログラミング – Home

OCRを使ったプログラミングについて
 
通知
すべてクリア

OCRを使ったプログラミングについて

固定ページ 1 / 2

グウ
 グウ
(@グウ)
ゲスト
結合: 21年前
投稿: 7
Topic starter  

始めまして。どうにもこうにもわからいのでお願いします!どなたか教えてください。
OCRを使って文字認識をする際に画像の読み込みができません。
下にかいたとうりに実行すると、「値が割り当てられていない」となってしまいます。

HBITMAP hBitmap;

//【 画像メモリの読み込み 】
if (!YndSetImage(hBitmap,NULL, &wErrorCode)){
//YndSetImage()の呼びだし
//hBitmap : DIBのハンドル
//NULL : 進捗表示をOCRSYS.DLLにまかせる
//&wErrorCode : エラーコードが返される

strErrorMsg.Format(画像が読み込めません [%d],wErrorCode);
AfxMessageBox(strErrorMsg);
YndEnd();// 【 終了処理 】YndEnd()の呼び出し
//
これはhBitmapの型がちがうとかでしょうか?
よろしくお願いいたします。


引用解決済
トピックタグ
ん
 ん
(@ん)
ゲスト
結合: 23年前
投稿: 106
 

質問内容の YndSetImage() というのは、
http://ai2you.com/ocr/sdk/sdk2.asp に載っている関数のことですか?

もしそうなら、問い合わせ先となっている「エー・アイ・ソフト株式会社」へ
聞いて見るのも手と思われます。

「エー・アイ・ソフト株式会社」から販売されているSDKキットを
もっていない人にはわからないお話と思われます。


返信引用
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

提示されたコードだけから判断するなら、変数 hBitmap に適切な値が入っていない
ということも考えられますね


返信引用
グウ
 グウ
(@グウ)
ゲスト
結合: 21年前
投稿: 7
Topic starter  

適切な値が入っていない?とはどこに値を入れたらいいのでしょうか?(初心者すぎて
申し訳ありません・・・)


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

「ん」さんの紹介ページの説明から察すると
>//【 画像メモリの読み込み 】
ここの行に達するまでにきちんと「hBitmap」に値がセットされてますか?

つまり
>YndSetImage
を使用する前にメモリへ画像データがロードされていなければならないようですが

SDKは持ち合わせていないので文章からはこの程度しか回答できません


返信引用
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

>適切な値が入っていない?とはどこに値を入れたらいいのでしょうか
これは、hBitmap は宣言しかしていないということですね?

ビットマップ等の GDI オブジェクトハンドルは宣言しただけでは具体的なものを示す
訳ではありません。これは int 型の変数についても同じことが言えます。

int i;

と宣言しただけでは変数 i の値が何かは判りませんね

ところで、あなたの開発条件(OS, VC++ のバージョンや MFC を使っているかどうか等)
がつかめないとこれ以上細かいことはお返事しにくいので、知らせてください

ハンドル hBitmap が DIB のハンドルという説明がついていますが DIB と DDB との
区別はわかりますか
それから、msdn ライブラリーで CreateDIBSection() 等についても調べて下さい


返信引用
はち
 はち
(@はち)
ゲスト
結合: 22年前
投稿: 27
 

開発条件はwin98でMFC使用してます。
DIBはSee device-independent bitmap、
DDBはSee device-dependent bitmap. ??とかいてありました。
CreateDIBSection() はThe CreateDIBSection function creates a device-independent
bitmap (DIB) that applications can write to directly. The function gives you a
pointer to the location of the bitmap's bit values. You can supply a handle to
a file mapping object that the function will use to create the bitmap, or you
can let the system allocate the memory for the bitmap.でした。よくわかりませ
ん・・。


返信引用
戸田
 戸田
(@戸田)
ゲスト
結合: 21年前
投稿: 11
 

翻訳使えば一発。
CreateDIBSection()はThe CreateDIBSection機能は、適用が直接書くことができるデバイス
インディペンデントのビットマップ(DIB)を作成します。機能は、ビットマップのビット価値の
位置へあなたにポインターを与えます。ビットマップを作成するために機能が使用するファイル
写像オブジェクトにハンドルを供給することができます。あるいは、システムにビットマップに
メモリを分配させることができます。


返信引用
グウ
 グウ
(@グウ)
ゲスト
結合: 21年前
投稿: 7
Topic starter  

>ハンドル hBitmap が DIB のハンドルという説明がついていますが DIB と DDB との
区別はわかりますか

あまりわかりません。


返信引用
n
 n
(@n)
ゲスト
結合: 21年前
投稿: 90
 

読み込むべき画像はどこにあるんですか?


返信引用
グウ
 グウ
(@グウ)
ゲスト
結合: 21年前
投稿: 7
Topic starter  

ダイアログにあります。??


返信引用
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

函数(かんすう、関数) YndSetImage() の引数の型を示してください
そうすれば hBitmap が DDB を指すのか DIB を指すのかおおよその見当がつくと思います


返信引用
グウ
 グウ
(@グウ)
ゲスト
結合: 21年前
投稿: 7
Topic starter  

hBitmapはDIBでした!


返信引用
島
 島
(@島)
ゲスト
結合: 23年前
投稿: 238
 

>hBitmapはDIBでした!

DIB のハンドルの型が HBITMAP でいいのですか?
そうだった場合、どうすべきなのかお分かりですか?


返信引用
謎の怪鳥
 謎の怪鳥
(@謎の怪鳥)
ゲスト
結合: 21年前
投稿: 12
 

YndSetImage()APIの概要説明を読むと、
hBitmapを使用してメモリ上から画像データを取得する
と記述されています。

nさんの質問の意図は、
hBitmapを使用して取得するDIB形式のイメージデータは
何処に置いてあるのか、ということですよ。

(1) メモリ上に表示可能な形で設定されている。

(2) 画像ファイルとして保存されている。

(3) アプリケーションのリソースとして保持している。

(1)の場合には、表示するためのビットマップハンドル値を
hBitmapに設定するだけでOKですが、
(2)と(3)の場合には、ファイル or リソースから
「読み込んで」ビットマップハンドルを「生成」し、
hBitmapに設定する必要があります。

で、その画像データはどこにおいてあるのですか?

# 画像がファイルとして保存されているんだったら、
# 最初からYndLoadImage()を使えばいいんじゃないの?

==


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました