コード例 #1
0
ファイル: opencv.py プロジェクト: chenyangXA51/data-mining
import cv2
import numpy as np
cv2.nameWindow("gray")
img = np.zeros((512, 512), np.uint8)  #生成一张空的灰度图像
cv2.line(img, (0, 0), (511, 511), 255, 5)  #绘制一条白色直线
cv2.imshow("gray", img)  #显示图像
#循环等待,按q键退出
while True:
    key = cv2.waitKey(1)
    if key == ord("q"):
        break
cv2.destoryWindow("gray")
コード例 #2
0
# -*- coding: UTF-8 -*-
import cv2
import numpy as np
img = np.zeros((512, 512), np.uint8)  #生成一张空的灰度图像
cv2.line(img, (0, 0), (511, 511), 255, 5)  #绘制一条白色直线
cv2.imshow("gray", img)  #显示图像
#循环等待,按q键退出
while True:
    key = cv2.waitKey(1)
    if key == ord("q"):
        break
cv2.destoryWindow("white")
コード例 #3
0
import cv2
import numpy as np

img_gray=cv2.imread('chidalu.jpg',cv2.IMREAD_GRAYSCALE); #image read in grayscale

ft=cv2.dft(np.float32(img_gray),flags=cv2.DFT_COMPLEX_OUTPUT); #frequency transform in image
ft_shift=np.fft.fftshift(ft); #frequency transform shift

row,col=img_gray.shape; #get shape of image
mask=np.zeros((row,col,2),np.uint8); #create a mask of image
mrow,mcol=int(row/2),int(col/2);
mask[mrow-30:mrow+30,mcol-30:mcol+30]=1;

ft_shift=mask*ft_shift; #new frequency shift
i_ft_shift=np.fft.ifftshift(ft_shift); #find inverse of frequency transform shift
i_ft=cv2.idft(i_ft_shift); #find inverse of frequency shift

lpf=cv2.magnitude(i_ft[:,:,0],i_ft[:,:,1]); #lowpassfilter

cv2.imshow('LowPassFilter',lpf); #Image show

if cv2.waitKey(0)&0xFF==ord('q'):
    cv2.destoryWindow(); #destroy window
コード例 #4
0
ファイル: basics.py プロジェクト: Houwenda/programming
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
import cv2

image1 = cv2.imread(
    'test.png',
    0)  # 0:grayscale 1:color image(default) -1:unchanged(alpha channel)
cv2.imshow('窗口名', image1)  #创建窗口并显示图像
cv2.waitKey(0)  #暂停,直到按任意键
cv2.destoryAllWindows()  #关闭所有窗口
cv2.destoryWindow('窗口名')  #关闭指定窗口

cv2.namedWindow(
    '窗口名', cv2.WINDOW_NORMAL
)  #创建一个窗口 cv2.WINDOW_NORMAL:可以缩放  CV2.WINDOW_AUTOSIZE(DEFAULT):不可缩放
cv2.imshow('窗口名', image1)  #显示图像

cv2.imwrite('文件名.png', iamge1)  #在工作目录保存图片  png格式

##实例
import numpy as np
import cv2
img = cv2.imread('1.png', 0)  #打开为灰度图
cv2.imshow('image', img)
k = cv2.waitKey(0)  #64位系统使用  k = cv2.waitKey(0) & 0xFF
if k == 27:  #读入ESC后退出
    cv2.destoryAllWindows()
elif k == ord('s'):  #读入s后保存并退出
    cv2.imwrite('2.png', img)
    cv2.destoryAllWindows()
コード例 #5
0
ファイル: img_add.py プロジェクト: zkandroid/opencvlearn
    return img


def addweighted_img_mask(img, mask, img_value, mask_value, r):
    print(mask.shape[0])
    mask_low = mask.shape[0]
    mask_row = mask.shape[1]
    dst = cv2.addWeighted(img[0:mask_low, 0:mask_row], img_value, mask,
                          mask_value, r)
    #dst = cv2.add(img,mask)
    img[0:mask_low, 0:mask_row] = dst
    return img


if __name__ == "__main__":
    img1 = cv2.imread("/home/ly/opencvtest/opencvlearn/image/4n.jpg")
    img2 = cv2.imread("/home/ly/opencvtest/opencvlearn/image/n4.png")
    logo = cv2.imread("/home/ly/opencvtest/opencvlearn/image/opencvlogo.png")
    mianju = cv2.imread("/home/ly/opencvtest/opencvlearn/image/mianju.jpg")
    mianju = cv2.resize(mianju, (200, 200))
    #addimage(img1,img2)
    dst_mask = add_img_mask(img1, logo)
    #dst_mianju =add_img_mask(img1,mianju)
    #cv2.imshow('dst_mianju',dst_mianju)
    cv2.imshow('dst_mask', dst_mask)
    dst_addweighted = addweighted_img_mask(img1, logo, 0.3, 0.7, 0)
    cv2.imshow('dst_addweighted', dst_addweighted)
    if cv2.waitKey(0) == 27:
        cv2.destoryWindow(dst_mask)
        cv2.destoryWindow(dst_addweighted)
コード例 #6
0
# -*- coding:utf-8 -*-'
import cv2

face_cascade = cv2.CascadeClassifier(
    'haarcascades/haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('haarcascades/haarcascade_eye.xml')

img1 = cv2.imread('33.png')
img = cv2.resize(img1, (240, 320), interpolation=cv2.INTER_LINEAR)

faces = face_cascade.detectMultiScale(img, 1.2, 2)
for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x + w, x + h), (255, 0, 0),
                  2)  #用颜色为BGR(255,0,0)粗度为2的线条在img画出识别出的矩型
    face_re = img[y:y + h, x:x + w]  #抽取出框出的脸部部分,注意顺序y在前
    eyes = eye_cascade.detectMultiScale(face_re)  #在框出的脸部部分识别眼睛
    for (ex, ey, ew, eh) in eyes:
        cv2.rectangle(face_re, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
cv2.imshow('img', img)
key = cv2.waitKey(0)
if key == 27:
    cv2.destoryWindow('img')