博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用numpy对像素点进行操作
阅读量:3948 次
发布时间:2019-05-24

本文共 1643 字,大约阅读时间需要 5 分钟。

1,源代码:

import cv2 as cvimport numpy as npdef access_pixels(image):    #定义访问图像像素值的函数    print(image.shape);    height = image.shape[0]       width = image.shape[1]    channels = image.shape[2]    print("width : %s, height : %s channels : %s"%(width, height, channels))    for row in range(height):        for col in range(width):            for c in range(channels):                pv = image[row, col, c]        #访问图像像素点的数值                image[row, col, c] = 255 - pv  #修改图像像素点的数值    cv.imshow("pixels_demo", image)def inverse(image):    dst = cv.bitwise_not(image) #对图像(灰度图像或彩色图像均可)每个像素值进行二进制“非”操作    cv.imshow("inverse demo", dst)def create_image(): #创建新的图像    img1 = np.zeros([400, 400, 3], np.uint8)     #定义多通道图像大小并初始化为0    #img[: , : , 0] = np.ones([400, 400])*255   #给单通道赋值    img1[:, :, 2] = np.ones([400, 400]) * 255    cv.imshow("new image1", img1)     img2 = np.ones([400, 400, 1], np.uint8)      #定义单通道图像大小并初始化为1    img 2= img2 * 255    cv.imshow("new image", img)    cv.imwrite("F:/images/myImage.png", img2)      m1 = np.ones([3, 3], np.int32) #选择合适的类型,避免截断    m1.fill(12222.388)            print(m1)    m2 = m1.reshape([1, 9])  #维度转换    print(m2)    m3 = np.array([[2,3,4], [4,5,6],[7,8,9]], np.int32)    #m3.fill(9)    print(m3)print("--------- Hello Python ---------")src = cv.imread("F:/images/lena.png") # blue, green redcv.namedWindow("input image", cv.WINDOW_AUTOSIZE)cv.imshow("input image", src)t1 = cv.getTickCount()  #获取CPU时钟周期个数#access_pixels(src)create_image()inverse(src)t2 = cv.getTickCount()  time = (t2-t1)/cv.getTickFrequency(); #获取时间段print("time : %s ms"%(time*1000))cv.waitKey(0)cv.destroyAllWindows()

2,运行结果:

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

转载地址:http://vxhwi.baihongyu.com/

你可能感兴趣的文章
设计模式笔记(转载)
查看>>
加站点加入IE的可信站点做法
查看>>
软件研发中的《破窗理论》
查看>>
敏捷的三种误区和五种改进
查看>>
用数字来看某知名B2C网站的发展内幕和隐私
查看>>
vs2010一些设置
查看>>
生活感悟语录
查看>>
用python中htmlParser实现的spider(python spider)
查看>>
在线测速网址
查看>>
mysql中GROUP_CONCAT的应用
查看>>
研发人员的绩效考核
查看>>
Python 3 之多线程研究
查看>>
Python 3中的多线程文件下载类
查看>>
Python库之MySQLdb介绍
查看>>
Python3中利用Urllib进行表单数据提交(Get,Post)
查看>>
Python开发之扩展库的安装指南及Suds(Webservice)的使用简介
查看>>
软件项目管理一点分享
查看>>
iphone程序打包ipa格式
查看>>
Ios开发之Apns功能介绍(应用程序通知)及PHP/Python代码
查看>>
iphone开发的几个Apple官方中文教程地址
查看>>