में कार्तीय को मैं तो अजगर 2 डी सरणियों/छवियों ध्रुवीय, इस प्रक्रिया को करने के लिए बदलने के लिए, और बाद में उन्हें कार्तीय करने के लिए वापस बदलने चाहते हैं।तेजी से ध्रुवीय को कार्तीय अजगर
संख्या और छवियों के लिए मंद काफी बड़ी है तो मैं जाँच गया था कि क्या openCV एक तेजी से है और: निम्नलिखित ImajeJ Polar Transformer प्लगइन से परिणाम (नमूना कोड के संकेंद्रित वृत्त पर इस्तेमाल किया) है ऐसा करने का सरल तरीका।
मैंने सीवी के बारे में पढ़ा। CartToPolar
और PolarToCart
लेकिन मैं इसका उपयोग करने में विफल रहा। मैं बेहतर LogPolar
समझता हूं जहां इनपुट और आउटपुट सरणी हैं, और जहां आप केंद्र, इंटरपोलेशन और इनवर्जन सेट कर सकते हैं (यानी CV_WARP_INVERSE_MAP
)। क्या एक समान फैशन में CartToPolar/PolarToCart का उपयोग करने का कोई तरीका है?
import numpy as np
import cv
#sample 2D array that featues concentric circles
circlesArr = np.ndarray((512,512),dtype=np.float32)
for i in range(10,600,10): cv.Circle(circlesArr,(256,256),i-10,np.random.randint(60,500),thickness=4)
#logpolar
lp = np.ndarray((512,512),dtype=np.float32)
cv.LogPolar(circlesArr,lp,(256,256),100,cv.CV_WARP_FILL_OUTLIERS)
#logpolar Inverse
lpinv = np.ndarray((512,512),dtype=np.float32)
cv.LogPolar(lp,lpinv,(256,256),100, cv.CV_WARP_INVERSE_MAP + cv.CV_WARP_FILL_OUTLIERS)
#display images
from scipy.misc import toimage
toimage(lp, mode="L").show()
toimage(lpinv, mode="L").show()
यह एक टोमोग्राफी के लिए है (सीटी) कार्यप्रवाह जहां छल्ले कलाकृतियों आसान बाहर किए जा सकता है अगर वे लाइनों के रूप में दिखाई देते हैं।
बहुत बहुत धन्यवाद! वास्तव में 'लिनियरपोलर' जो करता है वह करता है। दुर्भाग्यवश 'आयात सीवी' का उपयोग करके यह उपलब्ध नहीं था, लेकिन मैंने 'ओपनसीवी आयात सीवी' और फिर 'cv.cvLinearPolar' और' काम करने की कोशिश की। अगले दिन मैं बड़े डेटासेट में इसका प्रदर्शन करने की कोशिश करूंगा। धन्यवाद! – Papado
ठंडा। मुझे आश्चर्य है कि यह क्यों दिखाई नहीं दे रहा है? मैं एक बग रिपोर्ट दर्ज करने का प्रयास करूंगा। –
http://code.opencv.org/issues/1729 –