Python OpenCV处理图像之图像像素点操作

 更新时间:2018年07月10日 15:11:46   作者:Leo  
这篇文章主要为大家详细介绍了Python OpenCV处理图像之图像像素点操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Python OpenCV图像像素点操作的具体代码,供大家参考,具体内容如下

0x01. 像素

有两种直接操作图片像素点的方法:

第一种办法就是将一张图片看成一个多维的list,例如对于一张图片im,想要操作第四行第四列的像素点就直接 im[3,3] 就可以获取到这个点的RGB值。

第二种就是使用 OpenCV 提供的 Get1D、 Get2D 等函数。

推荐使用第一种办法吧,毕竟简单。

0x02. 获取行和列像素

有一下四个函数:

  • cv.GetCol(im, 0): 返回第一列的像素
  • cv GetCols(im, 0, 10): 返回前 10 列
  • cv.GetRow(im, 0): 返回第一行
  • cv.GetRows(im, 0, 10): 返回前 10 行

0x03. 批量处理

需要批量处理所有的像素点的时候,只需要使用for循环迭代处理就可以了:

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg")
 
for i in range(im.height):
 for j in range(im.width):
  im[i,j] # 这里可以处理每个像素点

还有一种迭代处理的方式是使用 LineIterator,不过在声明 LineIterator 的时候需要制定处理像素点的开始点和结束点。

import cv2.cv as cv
 
im = cv.LoadImage("img/lena.jpg")
li = cv.InitLineIterator(im, (0, 0), (im.rows, im.cols)) #So loop the entire matrix
 
for (r, g, b) in li:
 # 这里可以对每个像素点的 r g b 进行处理

娱乐一下, 随机获取 5000 个像素点,然后把颜色换成一个随机的值(salt):

import cv2.cv as cv
 
import random
 
# 这里也可以使用 Get2D/Set2D 来加载图片
im = cv.LoadImage("img/lena.jpg") 
 
for k in range(5000): #Create 5000 noisy pixels
 i = random.randint(0,im.height-1)
 j = random.randint(0,im.width-1)
 color = (random.randrange(256),random.randrange(256),random.randrange(256))
 im[i,j] = color
 
cv.ShowImage("Noize", im)
cv.WaitKey(0)

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python模块之StringIO使用示例

    python模块之StringIO使用示例

    这篇文章主要介绍了python模块之StringIO使用示例,本文直接给出示例代码,需要的朋友可以参考下
    2015-04-04
  • 一文带你掌握Python内置reversed函数的使用

    一文带你掌握Python内置reversed函数的使用

    Python作为一门强大的编程语言,提供了许多内置函数来处理各种数据结构和对象,本文将详细探讨reversed函数的用法、示例代码以及实际应用场景,需要的可以参考下
    2024-01-01
  • Python的Pillow库进行图像文件处理(图文详解)

    Python的Pillow库进行图像文件处理(图文详解)

    本文详解的讲解了使用Pillow库进行图片的简单处理,使用PyCharm开发Python的详细过程和各种第三方库的安装与使用。感兴趣的可以了解一下
    2021-11-11
  • Python模块汇总(常用第三方库)

    Python模块汇总(常用第三方库)

    计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块
    2019-10-10
  • Python3实现购物车功能

    Python3实现购物车功能

    这篇文章主要为大家详细介绍了Python3实现购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 轻松理解Python 中的 descriptor

    轻松理解Python 中的 descriptor

    本文给大家分Python 中的 descriptor相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-09-09
  • Python列表list常用内建函数实例小结

    Python列表list常用内建函数实例小结

    这篇文章主要介绍了Python列表list常用内建函数,结合实例形式总结分析了Python列表list常见内建函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-10-10
  • Django 前后台的数据传递的方法

    Django 前后台的数据传递的方法

    本篇文章主要介绍了Django 前后台的数据传递的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python 抓取微信公众号账号信息的方法

    Python 抓取微信公众号账号信息的方法

    搜狗微信搜索提供两种类型的关键词搜索,一种是搜索公众号文章内容,另一种是直接搜索微信公众号。这篇文章主要介绍了Python 抓取微信公众号账号信息,需要的朋友可以参考下
    2019-06-06
  • 利用Python绘制随机游走图的详细过程

    利用Python绘制随机游走图的详细过程

    随机游走(random walk)也称随机漫步,随机行走等,是以随机的方式采取连续步骤的过程,下面这篇文章主要给大家介绍了关于利用Python绘制随机游走图的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02

最新评论