तो, मेरे पास यह कोड है, मैं ओपनसीवी फ्रेम में आसानी से एक टेक्स्ट या कोई आकार जोड़ सकता हूं। लेकिन किसी फ्रेम पर इमेज इंसर्ट करना बहुत मुश्किल होता है। मैं एक वीडियोकैप्चर फ्रेम पर एक छोटी छवि डालना चाहता हूं, मान लें कि छवि को सम्मिलित करने के लिए 50x50 पिक्सेल है। इस पर कोई विचार?
import cv2
webcam = cv2.VideoCapture(0)
insertImage = "sample.jpg" # size 50x50
while True:
rval = False
while(not rval):
(rval, frame) = webcam.read()
if(not rval):
print("Failed to open webcam. Trying again...")
cv2.putText(frame, " image here ", (0,70),cv2.FONT_HERSHEY_SIMPLEX, 0.6, (255,0,0), 2)
cv2.imshow('with image', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
webcam.release()
cv2.destroyAllWindows()
1 उत्तर
ओपनसीवी छवियां numpy arrays हैं। जहाँ तक मुझे पता है, OpenCv ऐसे कार्य प्रदान नहीं करता है जिनके साथ आप जो चाहें प्राप्त कर सकते हैं। परिणाम सरणियों में हेरफेर करके प्राप्त किया जा सकता है।
import cv2
import numpy as np
if __name__ == '__main__':
bigImage = cv2.imread("image1.png") #I don't have a webcam connected, so it's your frame
smallImage = cv2.imread("image2.png") #50x50 for you
height, width, channels = smallImage.shape
offset = np.array((40, 50)) #top-left point from which to insert the smallest image. height first, from the top of the window
bigImage[offset[0]:offset[0] + height, offset[1]:offset[1] + width] = smallImage
cv2.imshow("test", bigImage)
cv2.waitKey(0)
इनपुट
- बिगइमेज = बड़ा ग्रे आयत। यह आपका फ्रेम है
- छोटा चित्र = छोटा हरा आयत। यह आपकी 50x50 छवि है
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।