OPENCV-数字图像处理-python(jupyter-notebook)


第一章 Python 图像处理入门

系列文章目录
数字图像处理:大约()章。

1.窗口,图像导入导出        :(本文章)
2.颜色域转换,控制条        :文章操作链接
3.图像运算处理                  : 文章操作链接
4.大作业数字图像处理        :大作业-数字图像处理
5.标题                                :待更新
...........

文章目录

  • 系列文章目录
  • 前言
  • 一、工具:基于python中的工具,jupyter-notebook
  • 二、对应例子
    • 1.窗口的开关
    • 2.图片读取
    • 3.图片另存为
    • 4.摄像头调用
    • 5.范围更改(bar,volumn)
  • 总结


前言

        图像处理软件之一,有很多,学校用matlab较多,但是本人不太喜欢,不过这个和matlab差不多,都是调用的第三方库CV库​

一、工具:基于python中的工具,jupyter-notebook

OPENCV-数字图像处理-python(jupyter-notebook)_第1张图片

 但是在pythcharm中也可以,函数都是一样的,差不多

1、基础操作

1.窗口的打开和关闭

#C++命名规范
import cv2
#autosize 自动大小,不允许修改大小
cv2.namedWindow('window',cv2.WINDOW_NORMAL)
cv2.resizeWindow('window',400,500)
cv2.imshow('window',0)

#可以返回按键的ASCII的值
#0表示接受任意按键,整数表示等待时间(毫秒)
#可以利用它来销毁窗口,不用每次重启python
#ord是python中计算ascii的函数  ord('q')

#按键退出--a
key = cv2.waitKey(0)
#int型是16位的,,axcii是8位的,后八位进行比较
if key & 0xFF == ord('a'):
    print('准备销毁窗口')
    cv2.destroyAllWindows()

 OPENCV-数字图像处理-python(jupyter-notebook)_第2张图片

 按a退出窗口

1.2读取图片

import cv2

import matplotlib.pyplot as plt

#当前目录下的文件
cat = cv2.imread('./cat.png')       
plt.imshow(cat)

#CV读取是  BGR读取的
cv2.imshow('cat',cat)
key = cv2.waitKey(0)
if key & 0xFF == ord('a'):
    print('准备销毁窗口')
    cv2.destroyAllWindows()

 OPENCV-数字图像处理-python(jupyter-notebook)_第3张图片

1.3图片另存为

import cv2

cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',400,500)

img = cv2.imread('./pic/cat.png')
while True:
    cv2.imshow('img',img)
    key = cv2.waitKey(0)
    
    if key == ord('a'):
        break
    elif key == ord('s'):
        cv2.imwrite('./pic/cat2.png',img)
        
cv2.destroyAllWindows()

1.4调用电脑摄像头

#打开摄像头
import cv2

cv2.namedWindow('vio',cv2.WINDOW_NORMAL)
cv2.resizeWindow('vio',680,700)

cap = cv2.VideoCapture(0)

#循环读取
while True:
    ret,frame = cap.read()
    
    if not ret:
        break
    
    #显示
    cv2.imshow('vio',frame)
    
    key = cv2.waitKey(5)
    if key == ord('a'):
           break
    #释放资源
cap.release()
cv2.destroyAllWindows()

1.5鼠标控制

import cv2
import numpy as np

#参数必须是5个
#event事件,X,Y,坐标,flags,(组合按键),
def mouse_callback(event,x,y,flags,userdata):
    print(event,x,y,flags,userdata)
    #点击退出
    if event == 2:
        cv2.destroyAllWindows()

cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)

cv2.setMouseCallback('mouse',mouse_callback,'123')

img = np.zeros((360,640,3),np.uint8)
while True:
    cv2.imshow('mouse',img)
    key = cv2.waitKey(1)
    if key == ord('a'):
        break

1.6调色范围,进度条(此处有点问题---函数是对的,,后面第二章有可以应用例程)

import cv2
import numpy as np

cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)

def callback(value):
    pass

#创建tracker
    cv2.createTrackbar('R', 'trackbar',0,255,callback)
    cv2.createTrackbar('G', 'trackbar',0,255,callback)
    cv2.createTrackbar('B', 'trackbar',0,255,callback)


    img = np.zeros((480,640,3),np.uint8)

    while True:
    #获取当前的值
        r = cv2.getTrackbarPos('R','trackbar')
        g = cv2.getTrackbarPos('G','trackbar')
        b = cv2.getTrackbarPos('B','trackbar')

    #改变背景颜色
        img[:] = [b,g,r]
        cv2.imshow('trackbar',img)
    
        key = cv2.waitKey(0)
        if key == ord('a'):
            cv2.destroyAllWindows()

总结

入门篇,后续还会退出更多的。欢迎关注,指正,共同学习,进步。

你可能感兴趣的:(opencv,python,人工智能,图像处理)