Beginning with OpenCV in Python
Join the DZone community and get the full member experience.
Join For FreeOpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision [Ref]. In this post we will see how to use some of the basic functions of OpenCV in Python.
The following code opens an image from the disk, prints some image properties on the console and shows a window that contains the image.
And this is what the script showed on the console:
A Sobel operator can be applied as follow:
The final example below uses two operation, a smoothing filter and a subtraction. It applies a Gaussian Blur to the original image and subtracts the result of the filtering from the original image.
The following code opens an image from the disk, prints some image properties on the console and shows a window that contains the image.
# load and show an image in gray scale image = cv.LoadImage('ariellek.jpg',cv.CV_LOAD_IMAGE_GRAYSCALE) # print some image properties print 'Depth:',image.depth,'# Channels:',image.nChannels print 'Size:',image.width,image.height print 'Pixel values average',cv.Avg(image) # create the window cv.NamedWindow('my window', cv.CV_WINDOW_AUTOSIZE) cv.ShowImage('my window', image) # show the image cv.WaitKey() # the window will be closed with a (any)key pressThis is the image I used for this example.
And this is what the script showed on the console:
Depth: 8 # Channels: 1 Size: 366 550 Pixel values average (80.46735717834079, 0.0, 0.0, 0.0)Now we can resize the image loaded above:
# resize the image dst = cv.CreateImage((150,150), 8, 1) cv.Resize(image,dst,interpolation=cv.CV_INTER_LINEAR) cv.ShowImage('my window', dst) cv.WaitKey() cv.SaveImage('image2.jpg', dst) # save the imageAnd this is the result.
A Sobel operator can be applied as follow:
# Sobel operator dstSobel = cv.CreateMat(image.height, image.width, cv.CV_32FC1) cv.Sobel(image,dstSobel,1,1,3) cv.ShowImage('my window', dstSobel) cv.WaitKey() cv.SaveImage('imageSobel.jpg', dstSobel)And this is the result on the picture that I'm using:
The final example below uses two operation, a smoothing filter and a subtraction. It applies a Gaussian Blur to the original image and subtracts the result of the filtering from the original image.
# image smoothing and subtraction imageBlur = cv.CreateImage(cv.GetSize(image), image.depth, image.nChannels) # filering the original image cv.Smooth(image, imageBlur, cv.CV_BLUR, 15, 15) diff = cv.CreateImage(cv.GetSize(image), image.depth, image.nChannels) # subtraction (original - filtered) cv.AbsDiff(image,imageBlur,diff) cv.ShowImage('my window', diff) cv.WaitKey() cv.SaveImage('imageDiff.jpg', diff)The final output is:
OpenCV
Python (language)
Opinions expressed by DZone contributors are their own.
Trending
-
Top 10 Pillars of Zero Trust Networks
-
Unlocking the Power of AIOps: Enhancing DevOps With Intelligent Automation for Optimized IT Operations
-
Merge GraphQL Schemas Using Apollo Server and Koa
-
Mastering Time Series Analysis: Techniques, Models, and Strategies
Comments