OpenCV 学習:画像・回転変換処理

2017-07-10 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
このところ、Python プログラムを“GSL Shell”に移植している。

その中で、画像を回転する処理コードが出てきた:
##### hogehoge.py
r = 10 # 回転角度 ( 反時計回りの“度”。実数可 )
Cp='C:/_kami_/convert'; vpb='-virtual-pixel black'; rr=str(0-r)

inF=INdir+'/'+fnm; otF=OTdir+'/'+fnm
subprocess.call('%s %s -distort SRT %s %s %s' % (Cp, vpb, rr, inF, otF))
#####
つまり、
“Python”では“ImageMagick:画像形式変換ツール”の convert を使って、
convert -virtual-pixel black -distort SRT -10 <入力画像> <出力画像>
の様にして(例えば)10度回転変換を実行。
ここで、回転角度は(convertでは)時計回りなので、
反時計回りで実行したいので、負数にしている。

これをGSL Shellで行うには、
やはり「画像処理は、OpenCV で」でしょうか。


「OPenCV 画像 回転」で検索して、
OpenCVの画像処理
を見つけた。

このページの“4.画像回転”のコードを頂いた。


結果:
----- Rot.gsl -----
cv2 = require'cv2'
ffi.cdef[[
typedef struct CvPoint2D32f{ float x; float y; } CvPoint2D32f;
void cvResize( const CvArr* src, CvArr* dst, int interpolation );
CvMat* cv2DRotationMatrix( CvPoint2D32f center, double angle, double scale, CvMat* map_matrix );
void cvWarpAffine( const CvArr* src, CvArr* dst, const CvMat* map_matrix );
void cvGetQuadrangleSubPix( const CvArr* src, CvArr* dst, const CvMat* map_matrix );
]]----- 自作 'cv2.lua' に不足している宣言を追加

Pxy32F=ffi.new('CvPoint2D32f')
function setPxy32F(x,y) Pxy32F.x=x Pxy32F.y=y end

-- // 入力画像読み込み
img = cv2.cvLoadImageM( 'sample.png', 1 )
xx, yy = img.xx, img.yy

-- // 出力用領域
img2 = cv2.cvCreateMat( yy, xx, 16 ) -- CV_8UC3

-- // 回転中心
setPxy32F( xx/2, yy/2 )

-- // 回転角度(degree) ( 正:右回転 / 負:左回転 )
angle_deg = -30.0

-- // スケーリング係数
scale = 1

-- // 回転行列領域確保
rotationMat = cv2.cvCreateMat( 2, 3, 5 ) -- CV_32FC1

-- // 回転行列設定
cv2.cv2DRotationMatrix( Pxy32F, angle_deg, scale, rotationMat )

-- // 回転実行
cv2.cvWarpAffine( img, img2, rotationMat )

-- // 画像出力
cv2.cvSaveImage( 'Rot_img.png', img2, 0 )
で行けました。


本日はここまで。


Lua ( GSL Shell ) / OpenCV 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170603
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク