From 9169335e5bdf66916619a2565ba56235bc4cfb00 Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Sat, 6 Oct 2018 22:19:52 +0530 Subject: [PATCH] Drawing functions added --- opencv.html.markdown | 63 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/opencv.html.markdown b/opencv.html.markdown index 7e048df5..45046af6 100644 --- a/opencv.html.markdown +++ b/opencv.html.markdown @@ -1,5 +1,5 @@ --- -language: c++/python +language: python filename: learnopencv.py contributors: - ["Yogesh Ojha", "http://github.com/yogeshojha"] @@ -23,11 +23,11 @@ https://medium.com/@nuwanprabhath/installing-opencv-in-macos-high-sierra-for-pyt ### Here we will be focusing on python implementation of OpenCV -* __Reading image in OpenCV__ ``` +# Reading image in OpenCV import cv2 img = cv2.imread('cat.jpg') -# Simple isn't it? + # Displaying the image # imshow() function is used to display the image cv2.imshow('Image',img) @@ -35,10 +35,67 @@ cv2.imshow('Image',img) # If you are getting error, Object Type None, your image path may be wrong. Please recheck the pack to the image cv2.waitKey(0) # waitKey() is a keyboard binding function and takes arguement in milliseconds. For GUI events you MUST use waitKey() function. + +# Writing an image +cv2.imwrite('catgray.png',img) +# first arguement is the file name and second is the image + +# Convert image to grayscale +gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) + +# Capturing Video from Webcam +cap = cv2.VideoCapture(0) +#0 is your camera, if you have multiple camera, you need to enter their id +while(True): + # Capturing frame-by-frame + _, frame = cap.read() + cv2.imshow('Frame',frame) + # When user presses q -> quit + if cv2.waitKey(1) & 0xFF == ord('q'): + break +# Camera must be released +cap.release() + +# Playing Video from file +cap = cv2.VideoCapture('movie.mp4') +while(cap.isOpened()): + _, frame = cap.read() + # Play the video in grayscale + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + cv2.imshow('frame',gray) + if cv2.waitKey(1) & 0xFF == ord('q'): + break +cap.release() + +# Drawing The Line in OpenCV +# cv2.line(img,(x,y),(x1,y1),(color->r,g,b->0 to 255),thickness) +cv2.line(img,(0,0),(511,511),(255,0,0),5) + +# Drawing Rectangle +# cv2.rectangle(img,(x,y),(x1,y1),(color->r,g,b->0 to 255),thickness) +# thickness = -1 used for filling the rectangle +cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) + +# Drawing Circle +cv2.circle(img,(xCenter,yCenter), radius, (color->r,g,b->0 to 255), thickness) +cv2.circle(img,(200,90), 100, (0,0,255), -1) + +# Drawing Ellipse +cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1) + +# Adding Text On Images +cv2.putText(img,"Hello World!!!", (x,y), cv2.FONT_HERSHEY_SIMPLEX, 2, 255) + + +cv2.destroyAllWindows() +# destroyAllWindows() destroys all windows. If you wish to destroy specific window pass the exact name of window you created. ``` Further Reading: +OpenCV drawing Functions + + An up-to-date language reference can be found at