前回はベクタライズ処理のため、画像をメモリ上に列行列化して展開するim2col関数を練習。でも、ベクタライゼーションの功徳は処理速度です。今回は同じ画像に対してベクタライズ対応の処理関数とそうでないものでどのくらい速度差が出るのかを観察してみます。まあ、Helpファイルの処理例を並べて比べてみただけなんだけれども。
“手習ひデジタル信号処理(159) Scilab、{IPCV}、ベクタライズの功徳よの” の続きを読む
手習ひデジタル信号処理(158) Scilab、{IPCV}、im2col、画像の列行列化
今回は im2col 関数を試用してみます。どんな関数なのかとHelpを読めば “Convert image into series of columns” と書かれております。画像処理素人老人はナンジャラホイ状態です。これはフィルタなどより1段階ローレベルなところでベクタライゼーションを活用するためのデータ再配置のための関数みたいです。 “手習ひデジタル信号処理(158) Scilab、{IPCV}、im2col、画像の列行列化” の続きを読む
手習ひデジタル信号処理(157) Scilab、{IPCV}、画像のフィルタ再び
別シリーズにて「ラプラシアン演算子」登場。当然、本シリーズにて「ラプラシアン・フィルタ」を練習済だよね、といって探してみたらまさかの不在デス。行き当たりばったりで練習してきているので「有名どころ」でも結構漏れてますなあ。これはイケないということで、今回は2次元画像のフィルタについて再び練習してみます。
“手習ひデジタル信号処理(157) Scilab、{IPCV}、画像のフィルタ再び” の続きを読む
手習ひデジタル信号処理(156) Scilab、{IPCV}、stitching、画像連結
前回は「最近のカメラだったら出来て当然」のお顔検出。今回も「できて当然」機能です。複数枚の写真を繋ぎあわせて「パノラマ画像」を作るような操作。Image Stitchingと唱えるようです。前々回でやったような画像特徴点を取り出して「同じ」とみなせる点を重ねていくみたいです。でもHELP例がエラーになるのよ。 “手習ひデジタル信号処理(156) Scilab、{IPCV}、stitching、画像連結” の続きを読む
手習ひデジタル信号処理(155) Scilab、{IPCV}、Haar Cascadeでお顔
前回は画像特徴点の抽出関数どもを使用。交通標識の識別を試みました。今回も「古典的」な画像認識の手法です。Haar Cascadeとな。画像の中から「お顔」に見えるような領域を検出するのに向いたカスケード構造の分類器らしいです。最近のカメラだったら出来て当然?の機能か。その昔デモ見たときはビクッリしたもんだが。
手習ひデジタル信号処理(154) Scilab、{IPCV}、一致する画像を見つける
前回、前々回と画像特徴点の抽出関数を「手習ひ」。今回は抽出した特徴点(位置)から記述子を計算し、一方の画像に一致する可能性の高い別な画像(回転しているので単純画像比較は不可)を見つける操作を行ってみます。といってHelpファイルに書かれている方法そのままなんだけれども。やっぱアルゴリズムによって結果は違うみたい。
手習ひデジタル信号処理(153) Scilab、{IPCV}、画像特徴点、つづき
前回は画像特徴点抽出関数を「手習ひ」してみましたが、Helpファイル記載の8種類のアルゴリズムのうち5つでした。今回は残りの3つについて「手習ひ」してみたいと思います。評価するのなら計算量(速度)とかメモリ必要量とかも調べるのだろうけれど「抽出された」点を眺めてみるだけ。評価した論文等は多数あるみたい、後はよろ。
手習ひデジタル信号処理(152) Scilab、{IPCV}、画像特徴点、いろいろあるけど?
前回まで「なんちゃら変換」。今回から「画像特徴点」に進出?英語で”Detect features from an image”あるいは”Feature detection”か。”Keypoint detection”言う場合は微妙に目的が違う感じがします。そのクセ同じお名前のアルゴリズムが登場。素人老人は知らんけど。
“手習ひデジタル信号処理(152) Scilab、{IPCV}、画像特徴点、いろいろあるけど?” の続きを読む
手習ひデジタル信号処理(151) Scilab、{IPCV}、流域変換って何よ?
今回は Watershedアルゴリズムです。画像を「地形図」にみたててその高低を測り、「分水嶺」を求めて川の流域のごとくにセグメンテーションするのだとかしないとか。分かったような、分からぬような。まあScilab IPCVにも変換関数あり、やってみるのですが、Helpの例が動きませぬ。IPCVの中の人のチェック漏れ? “手習ひデジタル信号処理(151) Scilab、{IPCV}、流域変換って何よ?” の続きを読む
手習ひデジタル信号処理(150) Scilab、{IPCV}、ラドン変換って何よ?
好んで入りたいとは思わないのです。しかし歳をとるとCT(Computed Tomography)の機械に入れられること時折。中は見えないですがドーナツの中で高速回転しとるよ感の音。そして自分の腹の断面図、それもスライス状に多数が提示されるのであります。このときラドン変換の計算(近似か?)がなされている?ホントか?
手習ひデジタル信号処理(149) Scilab、{IPCV}、LogPolar対数極座標変換
前回は直線を検出するハフ変換でした。今回はLogPolar(対数極座標)変換です。噂では人間の網膜のモデルに近いのだとか。知らんけど。その名の通り縦横のデカルト座標を極座標に変換するのですが、ちょいとひねりが効いており距離は対数とってます。どうも図形を回転したり拡大縮小したときに「不変」的なものを観察できる変換みたい。
“手習ひデジタル信号処理(149) Scilab、{IPCV}、LogPolar対数極座標変換” の続きを読む
手習ひデジタル信号処理(148) Scilab、{IPCV}、Hough変換(ハフ変換)
前回は距離変換でした。まあ距離はなんだかんだ言って分かり易いっす。今回はHough変換です。「ハフ」と発音すればよいみたいです。画像内の直線、あるいは円を検出するための「変換」のようです。Scilab IPCVにも直線用と円用の2つの関数が存在する雰囲気ではあるのだけれど。円用は?なので今回は直線だけ。
“手習ひデジタル信号処理(148) Scilab、{IPCV}、Hough変換(ハフ変換)” の続きを読む
手習ひデジタル信号処理(147) Scilab、{IPCV}、距離変換、距離の計算3通り
前回は離散コサイン変換でした。今回は距離変換です。2値画像の各画素から最も近い画素値「0」(通例、黒にみえるハズ)までの距離を計算し、(2値でない)距離値がつまった配列(距離マップ)を返してくれるもの。使い途は御随意。なにかの処理の下ごしらえ用かね?でも「距離」といって距離の計算の仕方にはいろいろあるのだと。
手習ひデジタル信号処理(146) Scilab、{IPCV}、離散コサイン変換DCTと逆変換
今回は離散コサイン変換 Discrete cosine transform (DCT) とその逆変換。「空間」内の画像信号を「周波数」領域へと変換(transform)するものと、その逆で画像信号に戻すもの。静止画像、動画などの「圧縮」「伸張」に度々登場する現代社会を支える?基礎技術の一つデス。自分、持ち上げすぎか?
“手習ひデジタル信号処理(146) Scilab、{IPCV}、離散コサイン変換DCTと逆変換” の続きを読む