मैं depth map with OpenCV
पर काम कर रहा हूं। मैं इसे प्राप्त कर सकता हूं लेकिन इसे बाएं कैमरे की उत्पत्ति से पुनर्निर्मित किया गया है और इस बाद की थोड़ी झुकाव है और जैसा कि आप आंकड़े पर देख सकते हैं, गहराई "स्थानांतरित हो गई है" (गहराई को बंद होना चाहिए और कोई क्षैतिज ढाल नहीं होना चाहिए):पायथन - एक रोटेशन कोण से ओपनसीवी के लिए परिप्रेक्ष्य परिवर्तन
मैं एक शून्य कोण के साथ के रूप में यह व्यक्त करना चाहेंगे, मैं ताना परिप्रेक्ष्य समारोह के साथ आप नीचे देख सकते के रूप में की कोशिश, लेकिन मैं एक अशक्त क्षेत्र प्राप्त ...
P = np.dot(cam,np.dot(Transl,np.dot(Rot,A1)))
dst = cv2.warpPerspective(depth, P, (2048, 2048))
साथ:
#Projection 2D -> 3D matrix
A1 = np.zeros((4,3))
A1[0,0] = 1
A1[0,2] = -1024
A1[1,1] = 1
A1[1,2] = -1024
A1[3,2] = 1
#Rotation matrice around the Y axis
theta = np.deg2rad(5)
Rot = np.zeros((4,4))
Rot[0,0] = np.cos(theta)
Rot[0,2] = -np.sin(theta)
Rot[1,1] = 1
Rot[2,0] = np.sin(theta)
Rot[2,2] = np.cos(theta)
Rot[3,3] = 1
#Translation matrix on the X axis
dist = 0
Transl = np.zeros((4,4))
Transl[0,0] = 1
Transl[0,2] = dist
Transl[1,1] = 1
Transl[2,2] = 1
Transl[3,3] = 1
#Camera Intrisecs matrix 3D -> 2D
cam = np.concatenate((C1,np.zeros((3,1))),axis=1)
cam[2,2] = 1
P = np.dot(cam,np.dot(Transl,np.dot(Rot,A1)))
dst = cv2.warpPerspective(Z0_0, P, (2048*3, 2048*3))
बाद में संपादित: https://filex.ec-lille.fr/get?k=cCBoyoV4tbmkzSV5bi6:
आप 32MB क्षेत्र डाटासेट यहाँ डाउनलोड कर सकते हैं। फिर, छवि को लोड और देखें:
from matplotlib import pyplot as plt
import numpy as np
img = np.load('testZ0.npy')
plt.imshow(img)
plt.show()
पर जाएं आपने अपना उत्तर वेलेंटाइन क्यों हटा दिया है? – user3601754
[यह उत्तर] (http://stackoverflow.com/q/33497736/1510289) आपकी मदद कर सकता है। –
धन्यवाद मैं इसे जांचता हूं;) – user3601754