OpenCV 学習:画像サイズ変更

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

その中で“画像の拡大(2次元補間)”処理のコードが出てきた。

これに関しては、
昨年6月(2016-06-04)の記事「GSL Shell:2次元補間(interp2d)」で、
  ・・・・・
  ・・・・・
  画像データに限定すると、“OpenCV”ではどうか?
  「cvResize」でしょうか?
  でも、いろいろ試してみたが結果がオカシイ???
  ・・・・・
  ・・・・・
と書いていた。


ここで、
改めて“OpenCV 2.4.13.2 documentation”を見てみた:
void cvResize( ・・・ )
void cvResize( const CvArr* src, CvArr* dst, int interpolation=~ )
  src - 入力Image
  dst - 出力Image
  interpolation -
    INTER_NEAREST - ・・・
    INTER_LINEAR - ・・・
    INTER_CUBIC - ・・・
    INTER_AREA - ・・・
    INTER_LANCZOS4 - ・・・
とある。


そこで、念のためテストしてみた:
----- test_Resize.gsl -----
local cv2 = require'cv2'
-- 自作 'cv2.lua' に不足している宣言を追加
ffi.cdef[[
void cvResize( const CvArr* src, CvArr* dst, int interpolation );
]]
------------------------------------------
---------- GrayScale画像
-- 元データ
img=cv2.cvLoadImageM( 'Gray.tif', 0 )
xx, yy = img.xx, img.yy

-- 拡大データ領域
m = cv2.cvCreateMat( 2*yy, 2*xx, 0 ) -- 0:CV_8UC1

cv2.cvResize( img, m, 1 ) -- 1:INTER_LINEAR
cv2.cvSaveImage( 'outGray.tif', m, 0 )

------------------------------------------
---------- カラー画像
-- 元データ
img=cv2.cvLoadImageM( 'Color.png', 1 )
xx, yy = img.xx, img.yy

-- 拡大データ領域
m = cv2.cvCreateMat( 2*yy, 2*xx, 16 ) -- 16:CV_8UC3

cv2.cvResize( img, m, 1 ) -- 1:INTER_LINEAR
cv2.cvSaveImage( 'outColor.png', m, 0 )
これで出来ました。


過去記事ではなぜ出来なかったのかナ???


本日はここまで。


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


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
08 | 2017/09 | 10
- - - - - 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
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク