2
同じ画像の2つの行列の 'step'値が異なるのはなぜですか?OpenCVの同じ画像の2つの行列の 'step'の差
これらのうちの1つはLoadImageM()
によって生成され、もう1つはGetMat()
によって生成され、画像にはLoadImage()
がロードされた後に生成されます。私のコードは次のとおりです。
import cv2.cv as cv
def main():
org_win = 'Original'
cv.NamedWindow(org_win, cv.CV_WINDOW_AUTOSIZE)
org_img = cv.LoadImage("bed.jpg", cv.CV_LOAD_IMAGE_COLOR)
cv.ShowImage(org_win, org_img)
org_img_mat1 = cv.LoadImageM("bed.jpg", cv.CV_LOAD_IMAGE_COLOR)
org_img_mat2 = cv.GetMat(org_img, 0)
print org_img_mat1
print org_img_mat2
cv.WaitKey(0)
cv.DestroyWindow(org_win)
if __name__ == '__main__': main()
私は取得しています結果は次のとおりです。
<cvmat(type=42424010 8UC3 rows=497 cols=681 step=2043)>
<cvmat(type=42420010 8UC3 rows=497 cols=681 step=2044)>
ステップ値でこの違いを引き起こしていますか?親切に私を教えてください。ここで
そうでないかもしれませんか?他の多くの画像では、ステップ値はどちらの場合も同じです。しかし、これらの画像のほとんどは、(1600,1200)、(640,480)などのカメラから取得する標準サイズの画像でした。 これはあまり一般的ではない(681、497)サイズが原因ですが、信じる理由はありません。 –
@AbhinavSood面白い... 'cvCreateImage'や' cvCreateMat'を使うとこれができますか? – mevatron
'org_img = cv.LoadImage( "bed.jpg"、cv.CV_LOAD_IMAGE_COLOR)' 'org_img_mat1 = cv.LoadImageM( "bed.jpg"、cv.CV_LOAD_IMAGE_COLOR)' 'org_img_mat2 = cv.GetMat(org_img、 0) ' '印刷org_img_mat1' '印刷org_img_mat2'はcreateImageまたはCreateMatのいずれかを使用していない@mevatron 。 –