初心者向けのアプリ作成本を読んだ中で、画像加工の話が出てきたのですが、色々調べてみるとOpen CVという画像処理に実績のあるライブラリがあるらしく、これを入れると色々できるらしいので、ひとまずxcodeで使えるようにせねばならんと思った次第です。
Home brew でインストールできるらしい
ひとまず、以下コマンドでインストールができるらしいので実行。
Home brew のインストールは以下のリンクからインストールできるらしい
以下、コマンド
brew install opencv
インストールはこんな感じ。長すぎて少しムカつく
xxx@xxxxMacBook-Air ~ % brew install opencv
==> Downloading https://ghcr.io/v2/homebrew/core/eigen/manifests/3.4.0_1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/eigen/blobs/sha256:211fd7f1d58b383e3d64335c08a376a7d8433007ce61410ead0320df34b6f4
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:211fd7f1d58b383e3d64335c08a376a7d8433007ce614
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gflags/manifests/2.2.2-1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/gflags/blobs/sha256:b7b14b5ab926ce5519ac34e1998f50fcd086eea1f0cb964fdae920e1c5591
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:b7b14b5ab926ce5519ac34e1998f50fcd086eea1f0cb9
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/glog/manifests/0.5.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/glog/blobs/sha256:ddb4061510011a572bb536e3a705929f7d74b26a2477db7c45f0a5273aabcb1
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:ddb4061510011a572bb536e3a705929f7d74b26a2477d
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/metis/manifests/5.1.0
######################################################################## 100.0%
…
…
cmakeもインストール
brew install -v cmake
インストールを確認
ls /opt/homebrew/Cellar
この中にcmake と opencv4 を確認…これでいいのかな
xcodeの設定を行う
Xcodeを起動して、MacOS - Command Line Toolを選択し、てきとーにプロジェクト名を入れて起動する。
で、Build Settings -> Allタブをクリック -> Header Search Pathsの右側の空白をダブルクリックして、入力できるようにして、さっきインストールした場所である「/opt/homebrew/Cellar」の中にある「opencv」の下のinclude までのpathを入れる。
入れた後、その入力欄をだぶるkダブルクリックすると、なんかウィンドウが出るので、右側の選択肢を「recursive」 に変更する。
ライブラリを追加する
opencvをインストールできてた場所を確認したと思うが、その階層の下にバージョン、そのさらに下にライブラリが入ってるディレクトリがあるので、そこをfinderで開く
今回の例でいくとここ
/opt/homebrew/Cellar/opencv/4.5.5_1/lib
パスの入力は、Shift + Command + G で開くので、そこにパスを入れたら開ける
ファイルを選択する
.dylibがライブラリだけど、その中にエイリアスが混じってるので、エイリアスではない.dylibを選択する。
ファイル一覧で詳細表示をした際、「Unix実行ファイル」が該当する
Link Binary With Libraries に登録する
今度は、Build Phases -> Link Binary With Libraries を開き、そこに先程のファイルを投げ込む
プログラムを実行する
長かった、テストだ!拾ってきた、このテストプログラムを実行する
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(){
cv::Mat imMat(256,256, CV_8UC3);
for(int y = 0 ; y < imMat.rows; y++){
for(int x = 0 ; x < imMat.cols; x++){
cv::Vec3b &p = imMat.at<cv::Vec3b>( y, x );
p[ 0 ] = x; p[ 1 ] = y; p[ 2 ] = (int)((x+y)/2);
}
}
imshow("openCVTest",imMat);
waitKey(0);
return 0;
}
Library not loaded: /opt/homebrew/opt/opencv/lib/libopencv_plot.405.dylib とかいうエラー
久しぶりにぶちぎれそうになりますね。ほんと、ムカつく。
で、調べても答えが出てこない…と思ったら、海外のサイトに答えがあった。
以下を設定するとエラーがでなくなった!
「Disable Library Validation」 にチェックを入れるのだ!
Signing & Capabilities -> All -> Disable Library Validation
同じカテゴリの記事
コメント
[url=http://www.g26t0qx92te1e9s80961fe9p12unmev3s.org/]ugdhlejvix[/url]
gdhlejvix http://www.g26t0qx92te1e9s80961fe9p12unmev3s.org/
<a href="http://www.g26t0qx92te1e9s80961fe9p12unmev3s.org/">agdhlejvix</a>
[url=http://www.g258n49jn094o8iv7o4m9f03exa2m9xys.org/]uhrgznqxeif[/url]
hrgznqxeif http://www.g258n49jn094o8iv7o4m9f03exa2m9xys.org/
<a href="http://www.g258n49jn094o8iv7o4m9f03exa2m9xys.org/">ahrgznqxeif</a>
<a href="http://www.g1v1u4ml54qq82h3qa744cf8pbth2473s.org/">ayypsrvsbq</a>
yypsrvsbq http://www.g1v1u4ml54qq82h3qa744cf8pbth2473s.org/
[url=http://www.g1v1u4ml54qq82h3qa744cf8pbth2473s.org/]uyypsrvsbq[/url]
bthcpeqtm http://www.g13l4b985lxyoag48771weol990u3n1js.org/
<a href="http://www.g13l4b985lxyoag48771weol990u3n1js.org/">abthcpeqtm</a>
[url=http://www.g13l4b985lxyoag48771weol990u3n1js.org/]ubthcpeqtm[/url]
dfnmgzzp http://www.g60uk618bm0u3rgntl91jk562s3f86p4s.org/
<a href="http://www.g60uk618bm0u3rgntl91jk562s3f86p4s.org/">adfnmgzzp</a>
[url=http://www.g60uk618bm0u3rgntl91jk562s3f86p4s.org/]udfnmgzzp[/url]
<a href="http://www.giziv11504s0x443we353rw2q56o7gxys.org/">ahnbtkevqw</a>
[url=http://www.giziv11504s0x443we353rw2q56o7gxys.org/]uhnbtkevqw[/url]
hnbtkevqw http://www.giziv11504s0x443we353rw2q56o7gxys.org/
<a href="http://www.g4y8fm061j5ll0006c87o0ccadf3z1e6s.org/">arsmbdvkxe</a>
[url=http://www.g4y8fm061j5ll0006c87o0ccadf3z1e6s.org/]ursmbdvkxe[/url]
rsmbdvkxe http://www.g4y8fm061j5ll0006c87o0ccadf3z1e6s.org/
[url=http://www.gsbj1m9566eldu8ai24r3y889a2n09e5s.org/]uwgkwfgpod[/url]
<a href="http://www.gsbj1m9566eldu8ai24r3y889a2n09e5s.org/">awgkwfgpod</a>
wgkwfgpod http://www.gsbj1m9566eldu8ai24r3y889a2n09e5s.org/
[url=http://www.gnn4j5o47z50v320sepo3uv05r00f2k4s.org/]uhogclodtq[/url]
<a href="http://www.gnn4j5o47z50v320sepo3uv05r00f2k4s.org/">ahogclodtq</a>
hogclodtq http://www.gnn4j5o47z50v320sepo3uv05r00f2k4s.org/
<a href="http://www.g3vt6433b72s1y3mre808zc81m1nveq7s.org/">aoowidjcpoo</a>
[url=http://www.g3vt6433b72s1y3mre808zc81m1nveq7s.org/]uoowidjcpoo[/url]
oowidjcpoo http://www.g3vt6433b72s1y3mre808zc81m1nveq7s.org/