如何在Python中遍历像素呢?请看代码:

import numpy as np

import cv2

import matplotlib.pyplot as plt

src = cv2.imread("src.png")

gray = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)

rows, cols = gray.shape[:2]

row = gray[200]

plt.plot(row)

# plt.show()

plt.savefig("gray.png", dpi=300)

原始图像:

第200行像素:

接着我们计算下200行像素的一阶差分:

看到这里,你是不是觉得有点奇怪,这个差分到底是什么鬼,简单的a[n]-a[n-1]计算出来这么复杂的东西?手动调试下看看:

请注意观察原始像素数值。

看到问题了吗?当计算223-224的时候,temp的数值为255!

这个结果的原因我想了好久,就是opencv灰度图的像素数据类型是uchar,而char的长度被定义为8个字节,所以溢出了。。。

最后修改如下:

import numpy as np

import cv2

import matplotlib.pyplot as plt

src = cv2.imread("src.png")

gray = cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)

rows, cols = gray.shape[:2]

row = gray[200]

# first = np.diff(row)

first = []

for r in range(len(row) - 1):

temp = int(row[r+1]) - int(row[r])

first.append(temp)

plt.plot(first)

# plt.show()

plt.savefig("first.png", dpi=300)

调试结果:

终于看到正确的差分结果了,差分计算图如下:

opencv 修改图像数值_opencv 修改图像数值_Python中使用OpenCV读取像素相关推荐

  1. opencv图像灰化_opencv读入图像、灰度化、归一化、向量化

    平台:win7+opencv2.4.4+vs2008 功能:实现对图像的读入.灰度化.归一化和向量化. 代码: //这里的头文件都是vs2008的,与vc6.0有多不同 #include #inclu ...

  2. opencv java水平投影_OpenCV实现图像在水平方向上投影

    开始没有将数组赋值为零,不能正常显示.代码如下: Mat srcImage=imread("test.png"); imshow("C",srcImage); ...

  3. python怎么计算图像梯度_opencv python图像梯度实例详解

    这篇文章主要介绍了opencv python图像梯度实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一阶导数与Soble算子 二阶导数与拉普 ...

  4. OpenCV学习笔记~VS code1.25.0.0环境中配置opencv

    最近在VS code环境下,使用OpenCV对图像进行处理,但是在使用过程中,总是出现下面的错误,即使opencv安装成功依然会报错: Traceback (most recent call last ...

  5. 在MacOS和iOS系统中使用OpenCV

    在MacOS和iOS系统中使用OpenCV 前言 OpenCV 是一个开源的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法. 最近试着在 MacOS 和 iOS 上使用 OpenCV ...

  6. OpenCV学习笔记:创建/分配图像、图像读写保存、图像像素点访问修改

    环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) $ pkg-config --modversion opencv 2.4.13 以下程序的 ...

  7. 【C++ Opencv】读写灰度图像,RGB图像的某个像素、修改像素值、图像取反(源码+API)

    1. 读写像素 (1)读一个灰度图像的某点像素值 Scalar intensity=img.at<uchar>(y,x); 或者Scalar intensity =img.at<uc ...

  8. html 修改浏览器图标大小设置,如何在网页中插入、编辑图像和调整其大小

    了解如何在 Dreamweaver 中插入.编辑.替换图像和调整其大小. 图像可以通过为网站访问者提供额外的上下文,构成网站的组成部分.尽管存在多种图形文件格式,但在网页中通常应使用 GIF.JPEG ...

  9. opencv java图片清晰度_OpenCV 图像清晰度评价(相机自动对焦)

    相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...

最新文章

  1. 【ffmpeg】编译时报错:error: undefined reference to `av...
  2. Activiti 6.x【6】StartEvent(上)
  3. 学python编程-趣学python编程中文版 PDF 下载
  4. 程序流程图_干货收藏 | Java 程序员必备的一些流程图
  5. Java的主要特性有哪些?
  6. linux5.5救援模式,RHEL5救援模式简介RescueModeinRHEL5.PDF
  7. Qt学习笔记(3)——PushButton、RadioButton、CheckBox
  8. matlab下载安装教程
  9. 电影售票系统项目总结
  10. java类加载器有几种_请问这几种类加载器有什么区别?
  11. 1.49万件区块链专利全景:BATJP占26%,游戏类迎突破
  12. 基于jieba库的词频分析
  13. GROMOS拓扑(、坐标、轨迹、能量)相关文件解读手册第5章阅读笔记II
  14. 国内最长的地铁投影画廊在上海地铁诞生
  15. ECMAScript基础
  16. 架构师之路---面向过程和面向对象 王泽宾
  17. AntV X6流程图绘制程序(官方示例纯javascript+html+css)
  18. 缓存在日常生活中的体现
  19. [企业管理]宽容与尊严
  20. 浅谈塑胶件产品结构设计的几个主要原则

热门文章

  1. 使用希捷DiscWizard格式化3TB硬盘并分区
  2. 在Blender中制作火箭发射烟雾和火焰模拟的动画
  3. C++ 函数参数 值传递与引用传递
  4. Milking Cows 挤牛奶
  5. 关于手机系统信息的总结
  6. SparkSQL 与 Spark Core的关系
  7. centoros 环境安装
  8. ruby Mixin用法
  9. Java json转Map,转bean,转Listbean
  10. ZooKeeper集群环境安装与配置