python numpy是一个核心的数据结构,numpy的结构如何转换为opencv的图像数据结构呢,numpy如何快速的操作图像数据呢?
如下sample code所示:
import cv2
import numpy as np
img = np.zeros((300,300,3))
img[:,10,0] = 255
img[:,10,2] = 255
img[10,:,1] = 255
img[10,:,2] = 255
cv2.circle(img, (150,150), 40, (255,128,128))
cv2.imshow('img', img)
cv2.waitKey(0)
普通的卷积如何进行呢,这个要借助于scipy了。
import cv2
import numpy as np
from scipy import ndimage
img = np.zeros((300,300))
img[:,10] = 255
img[10,:] = 255
cv2.circle(img, (150,150), 40, (255,128,128))
cv2.imshow('img', img)
kernel3x3 = np.array([[-1,-1,-1],[-1,8,-1],[-1,-1,-1]])
dst_img = ndimage.convolve(img, kernel3x3)
cv2.imshow('dst', dst_img)
cv2.waitKey(0)