刚刚开始学习opencv,来记录一下自己的学习笔记,也向各位大牛虚心求教

一、图片的基本知识

只要是彩色的图片都有三个颜色通道,即RGB,用三个矩阵来表示。

三个矩阵的同一个坐标位置上的数值描述的是一个方格,数值描述的是在当前通道中的亮度。例如矩阵中81指的是左上角格子红色通道中的亮度,12指的是左上角格子绿色通道中的亮度,75指的是左上角格子蓝色通道中的亮度。

如果是灰度图(黑白图),则只有一个颜色通道,也就是只有一个矩阵,仅仅用来表示亮度。

如果是一个h=500,w=500的彩色图,就对应一个[500,500,3]的矩阵。

二、导入几个常用的包

 import cv2
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

注释:

1、cv2是opencv的缩写

2、matplotlib.pyplot是绘制各类可视化图形的命令子库

3、numpy是基本数值计算的工具包

4、%matplotlib inline 可以让在notebook中图片生成好就展示出来,不需要再调用plt.show()了,更方便显示结果,但是在pycharm中就不能使用

三、读入图片

imread()函数读入,读入的格式是BGR,而不是常用的RGB!!!

 img=cv2.imread('cat.jpg')

img存储的结果是三维数组,[w,h,3]

注:如果以灰度图读入,则

 img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)

四、显示图片

imshow()函数显示,‘image’表示显示在窗口上方的图片名字,img是图片的变量名

waitKey()函数定义等待时间,如果参数是0,则表示按任意键就退出;如果参数为n(n!=0),则表示n秒后,图片自动消失

 cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

五、图片保存

imwrite('给保存后照片取的名字',要保存的图片变量)

 cv2.imwrite('cat.png',img)

chapter01图像基本操作的更多相关文章

  1. opencv-python教程学习系列7-opencv图像基本操作

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的基本操作,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 ...

  2. opencv学习(六)——图像基本操作

    图像基本操作 一.访问和修改像素值 先来理解一下,图像与一般的矩阵或张量有何不同(不考虑图像的格式,元数据等信息).首先,一张图像有自己的属性,宽,高,通道数.其中宽和高是我们肉眼可见的属性,而通道数 ...

  3. MATLAB - 图像基本操作

    1.读入一幅图像 I = imread('lena.jpg');%给出图片路径即可,I是一个三维矩阵 J = rgb2gray(I); figure, imshow(I), figure, imsho ...

  4. 机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作)

    1.cv2.add(dog_img, cat_img)  # 进行图片的加和 参数说明: cv2.add将两个图片进行加和,大于255的使用255计数 2.cv2.resize(img, (500, ...

  5. 机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存)

    1. cv2.imread('cat.jpg', cv2.IMGREAD_GRAYSCALE)  # 使用imread读入图像(BGR顺序), 使用IMGREAD_GRAYSCALE 使得读入的图片为 ...

  6. python——numpy_1图像基本操作

    1.图像的数组表示: from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\P ...

  7. OpenCV常用基本处理函数(2)图像基本操作

    可以根据像素的行和列的坐标获取他的像素值.对 BGR 图像而言,返回值为 B,G,R 例如获取蓝色的像素值: img=cv2.imread('messi5.jpg')px=img[100,100]bl ...

  8. opencv 图像基本操作

    目录:读取图像,获取属性信息,图像ROI,图像通道的拆分和合并 1.  读取图像 像素值返回:直接使用坐标即可获得, 修改像素值:直接通过坐标进行赋值 能用矩阵操作,便用,使用numpy中的array ...

  9. OpenCV计算机视觉学习(1)——图像基本操作(图像视频读取,ROI区域截取,常用cv函数解释)

    1,计算机眼中的图像 我们打开经典的 Lena图片,看看计算机是如何看待图片的: 我们点击图中的一个小格子,发现计算机会将其分为R,G,B三种通道.每个通道分别由一堆0~256之间的数字组成,那Ope ...

随机推荐

  1. 对象(面向对象、创建对象方式、Json)

    一.面向对象 面向过程:凡事亲力亲为,每件事的具体过程都要知道,注重过程 面向对象:根据需求寻找对象,所有的事都用对象来做,注重结果 面向对象特性:封装.继承.多态(抽象性) js是一门基于对象的语言 ...

  2. Centos7 安装php7.3 并扩展 MySQL、postgresql

    首先是安装需要的扩展文件 yum -y install freetype-devel yum -y install libpng-devel yum -y install libjpeg-devel ...

  3. K Simple question (第十届山东理工大学ACM网络编程擂台赛 正式赛)

    题解:素数筛+唯一分解定理 可以把素数筛那部分放到while之外,减小时间复杂度. #include <stdio.h> #include <stdlib.h> #includ ...

  4. ACwing_789. 数的范围

    算法竞赛进阶指南上说据说只有10%的程序员能写对二分,而我这种蒟蒻..所以虽然这是一道非常基础的二分,但我觉得对我来说还是有必要写一篇博客来总结一下,也在写的过程中检验一下自己. 一开始看到这道题我还 ...

  5. C++中的平方、开方、绝对值怎么计算

    #include <math.h> //平方 pow() ,);// 4的平方=16 //开方 ,0.5);// 4的平方根=2 );// 4的平方根=2 //整数绝对值 int c = ...

  6. python生成二维码(简易)

    首先要的配置: pillow image qrcode zxing 然后直接上代码: import PIL import qrcode # 实例化二维码生成类 qr = qrcode.QRCode( ...

  7. 【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目

    使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g ...

  8. vue-cli3.0的记录

    页面打包的话,需要在根目录创建一个js文件 vue.confing.js 打包app的话,在dist里面只拿自己需要的静态文件

  9. CSS子选择器与后代选择器的区别

    p > span{ color:blue; } <p> 嵌套使用<span>css好牛逼!</span><span>是啊<b>也影响孙 ...

  10. elasticsearch _settings

    查看所有索引的配置信息GET /_settings 查看某个索引的配置信息 GET /index_name/_settings { "my_index": { "sett ...