summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYogesh Ojha <yogesh.ojha11@gmail.com>2018-10-06 22:19:52 +0530
committerGitHub <noreply@github.com>2018-10-06 22:19:52 +0530
commit9169335e5bdf66916619a2565ba56235bc4cfb00 (patch)
treef992924497fe25d0341b7b7d6816b962864af623
parentdcaec93a0e4b629bb07fcdd72dcb4c71b0d52530 (diff)
Drawing functions added
-rw-r--r--opencv.html.markdown63
1 files 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
+<https://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html>
+
An up-to-date language reference can be found at
<https://opencv.org/>