第一章 Python 图像处理入门

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

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

文章目录

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

前言

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

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

但是在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()

 按a退出窗口

1.2读取图片

import cv2import 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()

1.3图片另存为

import cv2cv2.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'):breakelif key == ord('s'):cv2.imwrite('./pic/cat2.png',img)cv2.destroyAllWindows()

1.4调用电脑摄像头

#打开摄像头
import cv2cv2.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 npcv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)def callback(value):pass#创建trackercv2.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(jupyter-notebook)相关推荐

  1. OpenCV数字图像处理学习平台

    原始图像1-1 处理中的图像1-2 处理结果1-3(检测到所有圆) OpenCV数字图像处理学习平台,是一款可视化.交互式方式学习OpenCV的工具软件,由资深计算机视觉专家精心打造,花费近两年整理成 ...

  2. OpenCV数字图像处理基于C++:灰度变换

    OpenCV数字图像处理基于C++:灰度变换 1.1 灰度变换概念 在图像预处理中,图像的灰度变换是图像增强的重要手段,灰度变换可以使图像对比度扩展,图像清晰,特征明显,灰度变换主要利用点运算来修正像 ...

  3. python jupyter notebook 多个excel文档合并

    #python jupyter notebook 合并多个excel表格的代码 ```python import pandas as pd file1 = pd.read_excel('E:/你的目录 ...

  4. 《opencv 数字图像处理 图像基础》

    <opencv 数字图像处理 图像基础> 矩阵 通道分离和合并 彩色图像转灰度图像 灰度图转二值化图像 图像运算 矩阵 定义一个显示图像的函数,对于灰度图,里面添加了vmin=0,vmax ...

  5. 数字图像处理-python基于opencv代码实现 反转变换、对数变换和幂律(伽马)变换

    本文主要介绍对<数字图像处理>第三章书中示例图片实现 反转变换.对数变换以及伽马变换的代码 若要获取更多数字图像处理,python,深度学习,机器学习,计算机视觉等高清PDF以及 更多有意 ...

  6. [python][jupyter notebook]之菜鸟安装[pyecharts]中Geo或Map显示问题

    作为菜鸟,在学习使用pyecharts模块进入jupyter notebook的时候,又遇到了问题--那就是,可以使用一下代码,导入Geo和Map模块,但是弄了之后看不见地图. from pyecha ...

  7. Python/Jupyter Notebook以及可视化的运用

    最近陆陆续续使用Jupyter Notebook和Python可视化做了一些小工具,用于提高开发效率. 这里将其归类总结一下,作为学习的记录. 转载于:https://www.cnblogs.com/ ...

  8. python的jupyter的使用教程-Python·Jupyter Notebook各种使用方法

    安装Jupyter Notebook的先决条件:已经安装了python(python 2.7 或者是python3) 具体的安装方法: 官方建议利用Anaconda安装Jupyter 安装完成Anac ...

  9. Python·Jupyter Notebook各种使用方法

    PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...

  10. 数字图像处理python实现-形态学处理

    内容简介 腐蚀膨胀 开闭运算 轮廓提取 击中与击不中 骨架提取 细化骨架提取 细化 裁剪 距离变换骨架提取 Hilditch算法骨架提取 首先明确一点形态学操作都是针对与二值图像,在灰度图像的形态学处 ...

最新文章

  1. Win7系统中同时安装了python2.x和python3.x,如何设置默认启动的python版本
  2. 23万小鹏P7,到底够不够格PK国产特斯拉
  3. sdut 1466 双向队列
  4. java condition_(原创)Java的ReentrantLock(可重入锁)下的Condition
  5. Error: rpmdb open failed
  6. mac下php mysql数据库文件怎么打开_Mac环境下php操作mysql数据库的方法分享
  7. 基于ZYNQ的机器视觉应用实例
  8. django-卡通案例-编辑流程小结
  9. Windows/Linux下获取当前线程的ID号
  10. laravel composer 安装指定版本以及基本的配置
  11. jsp超市仓库管理系统myeclipse开发sqlserver数据库
  12. android usb键盘监听,android设备外接键盘实现监听事件
  13. (干货)五种知网文献免费下载方式
  14. 使用OBS屏幕录制时色彩错误问题解决方案
  15. irving - 初学python
  16. WIN7wifi显示无法承载
  17. Linux部署禅道在访问web页面进入www时报错:mysql无法连接(重新解压安装包或者输入命令:setenforce 0即可)
  18. Windows 文件、目录操作编程 常用API
  19. 前列腺增生症的治疗行业调研报告 - 市场现状分析与发展前景预测
  20. 【设计模式学习笔记】类图:类与类之间的关系

热门文章

  1. (转)大型企业电话会议视频会议备份解决方案
  2. 客户端开发是做什么的_做程序员需要哪些技能?会开发什么软件?
  3. 记录一个子串在整串种出现的次数(JAVA)
  4. python通信达数据_通达信用了这么久也该学学Python了!1
  5. vue.js之非关系组件通信(八竿子打不着的关系组件通信)
  6. Yolov5移植树莓派实现目标检测
  7. 通信原理学习笔记3-1:数字通信系统概述(模数转换、时频域采样定理)
  8. 电脑公司Windows7 Ghost 2010新年版
  9. 【深度学习】细粒度图像识别 (fine-grained image recognition)
  10. ps计算机图片素材,PS一分钟小技巧!快速提取图片中素材的绝招