把图片看成一个二维的矩阵,使用numpy来操作


import numpy as np
import cv2 as cvimg = cv.imread('test.jpg')
img[100,100] # 返回该坐标下的值,如果是gbr模式则返回数组,如果是灰度图模式则返回常量
img[100,100,2]  #再gbr模式下可以访问对应通道的值
img.item(10,10,2) # item方法是更快速的方法
img.itemset((10,10,2),10)
img.shape # 返回长宽还有通道数量
img.size #
img.dtype # 一般都是uint8

获得指定区域

area = img[100:200,100:200]
img[200;300,200:300] = area

分割通道

b,g,r = cv.split(img) # split是高代价的函数,一般都是用索引
img = cv.merge((b,g,r))
b = img[:,:,0]  # 也可以达到同样的效果,这样更快

给图片添加边框

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
BLUE = [255,0,0]
img1 = cv.imread('opencv-logo.png')
replicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE)
reflect = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT)
reflect101 = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT_101)
wrap = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_WRAP)
constant= cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_CONSTANT,value=BLUE)
plt.subplot(231),plt.imshow(img1,'gray'),plt.title('ORIGINAL')
plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')
plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')

参考文献:
https://docs.opencv.org/3.4.3/d3/df2/tutorial_py_basic_ops.html
https://blog.csdn.net/qq_41905045/article/details/81295931

opencv 像素操作相关推荐

  1. Python OpenCV像素操作

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 Python OpenCV像素操作 环 ...

  2. OPencv像素操作

    #include <opencv2/opencv.hpp> #include <iostream> //问题: //如何同比例改变图像大小 //如何设置图片显示的坐标using ...

  3. OpenCV Mat数据类型像素操作

    转自:http://blog.csdn.net/skeeee/article/details/13297457 OpenCV图像像素操作及效率分析 在计算机视觉应用中,对于图像内容的读取分析是第一步, ...

  4. opencv实战2-修改保存图片、像素操作

    1 加载修改保存图像 1.1 修改图像 opencv中 灰度图像由常量 CV_8U 表示 C++ 中的 unsigned char: 三通道图像由 常量 CV_8UC3 表示: 1.2 保存图像 #i ...

  5. OpenCV实战(4)——像素操作

    OpenCV实战(4)--像素操作 0. 前言 1. 图像的基本组成 2. 访问像素值 2.1 修改图像像素 2.2 cv::Mat_ 模板类 2.3 完整代码示例 3. 用指针扫描图像 3.1 图像 ...

  6. android都图片mat_计算机视觉 OpenCV Android | Mat像素操作(图像像素的读写、均值方差、算术、逻辑等运算、权重叠加、归一化等操作)...

    本文目录 1. 像素读写 2. 图像通道与均值方差计算 3. 算术操作与调整图像的亮度和对比度 4. 基于权重的图像叠加 5. Mat的其他各种像素操作 1. 像素读写 Mat作为图像容器,其数据部分 ...

  7. C++ opencv之像素操作之逻辑操作(bitwise_and,bitwise_xor,bitwise_or,bitwise_not)

    文章目录 一.知识点 二.函数原型 1.按位与操作 2.按位或操作 3.按位异或操作 4.取反操作 5.绘制矩形框操作 三.代码 四.附图 1.按位与操作附图 2.按位或操作附图 3.按位异或操作附图 ...

  8. OpenCV图像操作

    OpenCV图像操作 OpenCV图像操作 输入输出 图片 图像的基本操作 访问像素强度值 内存管理和引用计数 原始操作 可视化图像 OpenCV图像操作 输入输出 图片 C ++ 从文件加载图像: ...

  9. OpenCV形态学操作

    OpenCV形态学操作 本文转载自:http://blog.csdn.net/byxdaz/article/details/5775717 一.图像腐蚀 膨胀 细化的基本原理   1.图像细化的基本原 ...

最新文章

  1. opencv实现正交匹配追踪算法OMP
  2. E-MapReduce上如何升级EMR-Core
  3. 不同坐标系下角速度_最伟大的数学发明,坐标系的诞生,是人类史上的方向盘...
  4. Spring@Autowired注解
  5. (step4.3.1) hdu 1010(Tempter of the Bone——DFS)
  6. RS-232、RS422和RS-485的区别和各自的实现方式
  7. c++ extern学习
  8. python3.6 numpy下载_numpy下载安装 NumPy MKL v1.13.1 cp36 for Python3.6 官方安装版 64位 下载-脚本之家...
  9. 动手学Pytorch深度学习建模与应用
  10. 百度智能云-文字识别SDK-识别验证码Demo
  11. ccy测试dlx 模块化与全局变量
  12. python爬取某人所有微博_python爬取微博用户关注和粉丝的公开基本信息
  13. AppCan西游汇“移动互联网创业者技术沙龙” (重庆站)
  14. PageRank实践-博客园用户PageRank排名
  15. 论文阅读笔记《Few-Shot Learning with Global Class Representations》
  16. Bank相关2_金融卡IC卡知识50问
  17. 计算机图形学原理及实践学习笔记第一章
  18. 离散数学:数学语言与证明方法(练习题)
  19. 解决win10开机内存过高的办法(亲测有效)
  20. 何洋开讲丨“云”将如何在中国制造2025中起到颠覆作用?

热门文章

  1. 从零开始学前端:过渡和动画 --- 今天你学习了吗?(CSS:Day20)
  2. JSP---网页日历
  3. Python+django网页设计入门(8):网站项目文件夹布局
  4. 批量统计多个PPTX文件中幻灯片总数量
  5. Linux 进程优先级以及环境变量
  6. 建立唯一索引后mysql策略_【MySQL】MySQL索引背后的之使用策略及优化【转】
  7. delphi中webbrowse控件中模拟点击文本超链接_功能测试——控件测试
  8. 60级怀旧服最新服务器人口排名,魔兽世界怀旧服10月最新人口普查详情 各大服务器阵营详细比例...
  9. android 9.0的模拟器,Exagear模拟器最新版
  10. socket 例子 java_java socket例子