Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

simple thresholding with OpenCV

import cv2
from matplotlib import pyplot as plt
'''Read your image and convert it to graycale as follows:'''
img = cv2.imread("myimage.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
'''Apply a Low-pass filter such as guassian blur to reduce high frequency
components as follows:'''
img_blur = cv2.GaussianBlur(gray, (3,3), 0) 
'''The (3,3) is filter size (must be odd) and zero is the standard
deviation parameter of a guassian function which tells GaussianBlur to
calculate standard diviation automatically. Assuming myimage.jpg is of a
bi-modal distribution (its histogram plot contains two peaks) then 
threshold is applied as follows:'''
threshdimage = cv2.threshold(img_blur,100,255,cv2.THRESH_BINARY)[1]
plt.imshow(threshdimage, cmap = 'gray', interpolation = 'bicubic')# plot  
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
'''Where 100 is threshold that divides the pixel space , hence all pixel
values smaller than 100 are set to 0 and all above 100 are set to 255.
The THRESH_BINARY specifies method used for thresholding. See the 
following: https://docs.opencv.org/4.x/d7/d4d/tutorial_py_thresholding.html
for more info'''
plt.show()
Comment

thresholding with OpenCV

#...........................Additional notes............................
'''In addition to cv2.GaussianBlur() filter, other commonly used filters 
are: Average blur, cv2.blur(); Median blur, cv2.medianBlur(); and 
and Bilateral filter, cv2.bilateralFilter. For example, Bilateral filter
can be used to filter high frequecy components while maintaining the
edges of the image, this is the strength of this filter compared to others.
The example below implements the Bilateral filter:'''
import cv2
from matplotlib import pyplot as plt

img = cv2.imread("myimage.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

diameter = 30# diameter of the pixels included in the neighborhood.
sigmaColor = 20 # color standard deviation  in the neighborhood.
sigmaSpace = 20 # space standard deviation in the neighborhood
blurred = cv2.bilateralFilter(img, diameter, sigmaColor, sigmaSpace)
plt.imshow(threshdimage, cmap = 'gray', interpolation = 'bicubic')# plot  
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

Comment

PREVIOUS NEXT
Code Example
Python :: user passes test django 
Python :: min max code in python 
Python :: print multiple strings in python 
Python :: tkinter while button not pressed 
Python :: how to make a calcukatir un python 
Python :: no module named 
Python :: python code for twitter scraping using tweepy 
Python :: return programming 
Python :: calendar module in python 
Python :: django-chartjs 
Python :: k means clustering python medium 
Python :: set index pandas 
Python :: time series python 
Python :: install python cap 
Python :: selenium check if driver is open python 
Python :: socket for api in django 
Python :: editing specific line in text file in python 
Python :: what mean import in python 
Python :: how to get function help in jupyter notebook 
Python :: how to bubble sort a 2d array in python 
Python :: expand figure matplotlib 
Python :: forward checking algorithm python 
Python :: len 
Python :: flask decorator causes views to be named the same thing 
Python :: python char to hex 
Python :: compter des valeur consecutives en python 
Shell :: ubuntu audio restart 
Shell :: git update gitignore 
Shell :: remove identifier files wsl2 
Shell :: remove unused packages ubuntu 
ADD CONTENT
Topic
Content
Source link
Name
2+9 =