边缘检测
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('C:/Users/S5/Desktop/PIC/case1/g2.png',0)
edges = cv.Canny(img, 150, 250)
plt.subplot(121)
plt.imshow(img,cmap='gray')
plt.title('Original Image')
plt.xticks([])
plt.yticks([])
plt.subplot(122)
plt.imshow(edges, cmap='gray')
plt.title('Edge Image')
plt.xticks([])
plt.yticks([])
plt.show()
灰度分布频率
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
def statistics():
src = cv.imread("C:/Users/S5/Desktop/PIC/case3/or4.png")
cv.imshow("q",src)
h,w,ch = np.shape(src)
gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY)
cv.imshow("gray",gray)
hest = np.zeros([256],dtype = np.int32)
for row in range(h):
for col in range(w):
pv = gray[row,col]
hest[pv] +=1
plt.plot(hest,color = "r")
plt.xlim([0,256])
plt.show()
cv.waitKey(0)
cv.destroyAllWindows()
statistics()
cv2.imwrite('C:/Users/S5/Desktop/PIC/case1/pinlv,jpg',statistics())