質問: (unsigned char)((float)r*0.30f + (float)g*0.59f + (float)b*0.11f); sum += mono; } } // 平均値を戻す return(sum / (rect->width*rect->height)); } ``` <編集3> 編集2で載せましたコードがなぜ正常に実行できないのかがわかりません。 depends.exeを利用して必要なDLLは揃えました。 基のソースコードがラズパイ用であるためでしょうか?
回答: 調べてみる限り、MingwのGCCでRaspberry Piのクロスコンパイルする方法は見つかりませんでした。OpenCVのソースコードをどうするか以前に、**MingwではRaspberry Piで動く実行ファイルやライブラリを作成することができません**。まずは、Raspberry Pi上で動く実行ファイルを作成できる環境を整え、Hello worldといった単純な実行ファイルを作成できることから始めてください。主な方法は3つです。 * Raspberry Pi上でコンパイル コンパイル速度は遅いですが、一番簡単で一番確実です。 * Debian Linux上のGCCでクロスコンパイル DebianのバージョンはRaspbianのバージョンに合わせた方がトラブルが少なくなるでしょう。Debian自体は仮想環境でも構いません。クロスコンパイルはある程度の知識が必要とするため、初心者にはお勧めできません。 * Windows toolchain for Raspberry/PIを使ってコンパイル Windowsしかなく、仮想環境のLinuxすら用意できない時の手段です。Visual Studio上で開発もできる優れもののようです。詳しい使い方はリンク先の下にあるTutorialのリンクを辿ってください。 なお、Raspberry PiにOpenCVをインストールしたという例をいくつか見つけましたが、すべてRaspberry Pi上でコンパイルする方法でした。クロスコンパイルやWindows toolchainを使った成功例はないため、できるかどうかすらわからず、チャレンジするとしても、相当高度な知識が無いと難しいでしょう。