読者です 読者をやめる 読者になる 読者になる

tataboxの備忘録

データ解析、画像解析、化学分析などなど

PyQt(PySide)とOpenCVで画像処理その7(日本語処理)

OSを判定して日本語対応させる。 os.nameがntならcp932、それ以外ならutf-8エンコードする。

import os
import PySide
from PySide import QtCore,QtGui
import cv2
#OSチェック
def os_check():
  #windows
    if os.name is 'nt':
        code = 'cp932'
        return code
  #Unix、Mac
    if os.name is not 'nt':
        code = 'utf-8'
        return code

def open_file(code):
    filename = QtGui.QFileDialog.getOpenFileName(filter="Image Files (*.png *.bmp *jpg)")
  #日本語をエンコードして文字化け回避
    filename = filename[0].encode(code)
        im = cv2.imread(filename)
    cv2.imshow("",im)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

if __name__ == '__main__':
    code = os_check()
    open_file(code)