C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

TeeseractOCR C#をC++/CLにて実装したい /びぎなー青ドンちゃん (19/08/09(Fri) 17:25) #91915
Re[1]: TeeseractOCR C#をC++/CLにて実装したい /Hongliang (19/08/09(Fri) 17:29) #91916
  ├ Re[2]: TeeseractOCR C#をC++/CLにて実装したい /とっちゃん (19/08/10(Sat) 01:38) #91918
  │├ Re[3]: TeeseractOCR C#をC++/CLにて実装したい /774RR (19/08/10(Sat) 05:34) #91921
  ││└ Re[4]: TeeseractOCR C#をC++/CLにて実装したい /びぎなー青ドンちゃん (19/08/12(Mon) 11:02) #91937 解決済み
  │└ Re[3]: TeeseractOCR C#をC++/CLにて実装したい /びぎなー青ドンちゃん (19/08/12(Mon) 10:47) #91936 解決済み
  ├ Re[2]: TeeseractOCR C#をC++/CLにて実装したい /びぎなー青ドンちゃん (19/08/12(Mon) 10:43) #91935
  └ Re[2]: TeeseractOCR C#をC++/CLにて実装したい /びぎなー青ドンちゃん (19/08/19(Mon) 15:14) #92035 解決済み


親記事 / ▼[ 91916 ]
■91915 / 親階層)  TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ びぎなー青ドンちゃん (1回)-(2019/08/09(Fri) 17:25:30)
びぎなー青ドンちゃん さんの Web サイト

分類:[.NET 全般] 


お世話になります。

環境:Windows 10 x64
   Visula Studio 2017
使用言語:C++/CLI C#
Teeseract OCR (Nugetで Teeseract.DLL 導入済み)

※参考サイト:https://qiita.com/nobi1234/items/c8d7b748c1aa31d771a1


C#で書かれた下記サンプルコードをC++/CLIにて実行したいのですが
下記エラーが出て前に進むことができません。

エラー内容:
    "Tesseract::Page ^" から "Tesseract::Page" への適切なユーザー定義変換が存在しません


以下C#サンプルコードならびに、C++/CLIのコードです。


//-------------------------
// C# サンプルコード
//-------------------------
static void Main(string[] args)
{
//言語ファイルの格納先
string langPath = @"C:\tessdata";

//言語(日本語なら"jpn")
string lngStr = "eng";

//画像ファイル
var img = new Bitmap(@"C:\Temp\test.bmp");

using (var tesseract = new Tesseract.TesseractEngine(langPath, lngStr))
{
// OCRの実行
Tesseract.Page page = tesseract.Process(img);

//表示
Console.WriteLine(page.GetText());
Console.ReadLine();
}
}




//-------------------------
// C++/CLI
//-------------------------

※using namespace Tesseract;

//言語ファイルの格納先
String^ langPath = "C:\\tessdata\\";

//言語(日本語なら"jpn")
String^ lngStr = "eng";

//画像ファイル
Bitmap^ img = gcnew Bitmap("C:\\Temp\test.bmp");

Tesseract::TesseractEngine^ api = gcnew Tesseract::TesseractEngine(langPath, lngStr);

Tesseract::PageSegMode pageSegMode = Tesseract::PageSegMode::Auto;

Tesseract::Page page = api->Process(img, pageSegMode);
^^^^^^
                ↑
               "Tesseract::Page ^" から "Tesseract::Page"
               への適切なユーザー定義変換が存在しません




C++/CLIでTesseract::TesseractEngineを実行したいのですがうまくいかず途方に暮れております。

※C#ではサンプルコードで動きは確認できております



勉強不足、また根本的にC++/CLIというよりはオブジェクト定義の理解不足であるとは思いますが
お力添えいただければ幸いです。何卒よろしくお願い申し上げます。








[ □ Tree ] 返信 編集キー/

▲[ 91915 ] / ▼[ 91918 ] ▼[ 91935 ] ▼[ 92035 ]
■91916 / 1階層)  Re[1]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ Hongliang (856回)-(2019/08/09(Fri) 17:29:31)
C++/CLIにおいて、
型 Hoge

型 Hoge^
は別物です。
Hoge^ 型のインスタンスを Hoge 型の変数には代入できません。
[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91916 ] / ▼[ 91921 ] ▼[ 91936 ]
■91918 / 2階層)  Re[2]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ とっちゃん (615回)-(2019/08/10(Sat) 01:38:56)
Tesseract::Page^ page
になっていないのが原因ですね。

よくあるミスの一つなので、慣れるしかありません。

[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91918 ] / ▼[ 91937 ]
■91921 / 3階層)  Re[3]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ 774RR (724回)-(2019/08/10(Sat) 05:34:28)
\ が2つ必要なのに1つしかない場所があるので探してみるとよい

# C++/CLI で EXE 作るの? 非推奨パターンですぜ、オイラならやらない(選択肢として選ばない)

[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91921 ] / 返信無し
■91937 / 4階層)  Re[4]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ びぎなー青ドンちゃん (4回)-(2019/08/12(Mon) 11:02:15)
774RR 様

画像パス誤記のご指摘ありがとうございます。

>
> # C++/CLI で EXE 作るの?

説明不足申し訳ございません。
C++/CLI でDLLを作成しようとしております。
(vb.net exeから上記DLLを読み込む)

皆さまからお教え頂きました件を含めて
動作確認致します。

お忙しい中ご回答頂きありがとうございました。





解決済み
[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91918 ] / 返信無し
■91936 / 3階層)  Re[3]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ びぎなー青ドンちゃん (3回)-(2019/08/12(Mon) 10:47:16)
とっちゃん 様

ご教示ありがとうございます。
休み明けに早速確認致します。

早々にご回答頂いているにもかかわらず
確認できず申し訳ございません。

確認後にクローズ致します。

解決済み
[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91916 ] / 返信無し
■91935 / 2階層)  Re[2]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ びぎなー青ドンちゃん (2回)-(2019/08/12(Mon) 10:43:58)
Hongliang 様

ご回答ありがとうございます。
休み明けに早速確認致します。

確認後にクローズ致します。


[ 親 91915 / □ Tree ] 返信 編集キー/

▲[ 91916 ] / 返信無し
■92035 / 2階層)  Re[2]: TeeseractOCR C#をC++/CLにて実装したい
□投稿者/ びぎなー青ドンちゃん (5回)-(2019/08/19(Mon) 15:14:54)
Hongliang 様 とっちゃん 様 774RR 様

> 型 Hoge
> と
> 型 Hoge^
> は別物です。

Tesseract::Page page



Tesseract::Page^ page に変更することによりエラーが無くなりました。


次のステップに進めることができました。
お忙しい中ご教授頂き誠にありがとうございました。




解決済み
[ 親 91915 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -