勉強会 Cvml python基礎
- 5. http://www.globalwalkers.co.jp/
Global Walkers, inc.
やる気を高めよう!
5
【 Python チュートリアルより抜粋 】
コンピュータを使って様々な作業をしていたら、自動化したい作業が出てくるでしょう。たとえば、たくさんのテキストファイルで検索-置換操作を行いたい、
大量の写真ファイルを込み入ったやりかたでリネームまたは整理したいといったものです。ひょっとすると、小さなカスタムデータベースや、何かに特化した
GUIアプリケーション、シンプルなゲームを作りたいかもしれません。
もしあなたがプロのソフト開発者なら、C/C++/Java ライブラリを扱う必要があって、通常の write/compile/test/re-compile サイクルが遅すぎると感じるかもしれ
ません。ひょっとするとそのようなライブラリのテストスイートを書いていて、テスト用のコードを書くのにうんざりしているかもしれません。拡張言語を使え
るプログラムを書いていて、アプリケーションのために新しい言語一式の設計と実装をしたくないと思っているかもしれません。
Pythonはそんなあなたのための言語です。
- 40. http://www.globalwalkers.co.jp/
Global Walkers, inc.
#!/usr/bin/env python
import sys, os, glob
class FileInfomation( object ):
def __init__( self, fname ):
self.fname = fname
def __str__( self ):
return "[file]: %s" % self.fname
def each_file( dir ):
for fname in glob.glob( "%s/*" % dir ):
if os.path.isfile( fname ):
yield FileInfomation( fname )
if os.path.isdir( fname ):
for finfo in each_file( fname ):
yield finfo
raise StopIteration
flie_list.py
40
if __name__ == '__main__':
target_dir = sys.argv[1]
for finfo in each_file( target_dir ):
print( finfo )
- 41. http://www.globalwalkers.co.jp/
Global Walkers, inc.
#!/usr/bin/env python
import sys, cv2
import numpy as np
def create_window( img, wname, x, y ):
cv2.namedWindow( wname )
cv2.moveWindow( wname, x, y )
cv2.imshow( wname, img )
def show_image( fname, target_func ):
mimg = cv2.imread( fname, cv2.IMREAD_UNCHANGED )
oimg = target_func( mimg )
height, width = mimg.shape[:2]
create_window( mimg, fname, 50, 50 )
create_window( oimg, 'after convert', width + 50, 50 )
cv2.waitKey( 0 )
cv2.destroyAllWindows()
def simple_view( img ):
return img
def gray_scale( img ):
gray_img = cv2.cvtColor( img, cv2.COLOR_RGB2GRAY )
_, threshold_img = cv2.threshold( gray_img, 60, 255, cv2.THRESH_BINARY )
return cv2.cvtColor( threshold_img, cv2.COLOR_GRAY2RGB )
opencv_sample.py
41
if __name__ == '__main__':
show_image( sys.argv[1],
# (lambda img: simple_view(img) )
(lambda img: gray_scale(img) )
)