2017-02-23 12 views
0

私の同僚と私は、この(パイソン)スクリプトを使用してサーマルカメラからデータをインポートした。正確にcv2.resizeで何が行われますか?

 try: 
    while True: 
     data = q.get(True, 500) 
     if data is None: 
     break 
     data = cv2.resize(data[:,:], (80, 60)) 
#   f.write(data) 
     minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(data) 

#   img = raw_to_8bit(data) 
     np.savetxt("uvc-capture-file.txt",np.array(data)) 
#   f.write(" ") 
     display_temperature(img, minVal, minLoc, (255, 0, 0)) 
     display_temperature(img, maxVal, maxLoc, (0, 0, 255)) 
     cv2.imshow('Lepton 2.5 Radiometry', img) 
     cv2.waitKey(1) 

    cv2.destroyAllWindows() 
    finally: 
    libuvc.uvc_stop_streaming(devh) 
    f.close() 
    print "done" 
finally: 
    libuvc.uvc_unref_device(dev) 
finally: 
libuvc.uvc_exit(ctx) 

if __name__ == '__main__': 
main() 

すべてが動作しますが、ライン「データで= cv2.resize(データ[:、:]、(80 、60)) "640から480にサイズを変更しました。元のスクリプトの理由はわかりませんが、それを実行したときに、640x480の数字が付いた素敵なテキスト文書がマトリックスに入りました。それをMatlabに接続しても、まだ動作するようになっています。唯一の問題は、温度センサが80×60の領域からのデータ収集のみであることです。どこから "フィラー"番号を取得していますか?このスクリプトは80x60と同じように動作しますが、640x480の数字の行列を持つテキスト文書を与えるのではなく、80x60のテキスト文書を与えました。どんな考え?

(申し訳程度虐殺Pythonスクリプト)

答えて

0

the API documentation of cv2.resizeによると、あなたの640×480の行列はあなたがあなたの元80×60のデータを必要としない限り、「爆破」。渡されたデータ行列で利用できるものは何でも数字から補間されていますいくつかの特定のフォーマットでは、情報を失うことなくこの行/ステップをスキップすることができます。

関連する問題