vim+python+OpenCV学习三 : 对图像的像素处理
来源:互联网 发布:via浏览器 知乎 编辑:程序博客网 时间:2024/05/22 01:31
#coding=utf-8 #这个不能没有,除非把 _vimrc 配置给解决掉'''1、与C++不同,在Python中灰度图的img.ndim = 2,而C++中灰度图图像的通道数img.channel() =12、为什么使用np.random.random()?这里使用了numpy的随机数,Python自身也有一个随机数生成函数。这里只是一种习惯,np.random模块中拥有更多的方法,而Python自带的random只是一个轻量级的模块。不过需要注意的是np.random.seed()不是线程安全的,而Python自带的random.seed()是线程安全的。如果使用随机数时需要用到多线程,建议使用Python自带的random()和random.seed(),或者构建一个本地的np.random.Random类的实例。'''import cv2import numpy as np#椒盐效果函数def salt(img,n): for k in range(n): # n的个数就是循环的次数也是椒盐点的个数 i=int(np.random.random()*img.shape[1]); # img.shape[]中,1 是l列轴,0 是行轴 j=int(np.random.random()*img.shape[0]); if img.ndim==2: #通道数为2 时 img[j,i]=255 elif img.ndim==3: img[j,i,0]=255 img[j,i,1]=255 img[j,i,2]=255 return img#我自己再定义一个保存的函数,只要名字不用jpgdef savePicture(img,str): cv2.imwrite("C:\\Users\Administrator\\Desktop\\test\\"+str+".jpg",img) returnif __name__=='__main__': #这句话有两个效果,一是在被调用时不执行其下语句 #其二也相当与主函数,把该执行的给阔起来,其效果和C中的main函数差不多 img=cv2.imread("E:\\testpictures\\meizilittle.jpg") saltImage=salt(img,5000) savePicture(saltImage,"saltImage") cv2.imshow("Salt",saltImage) cv2.waitKey(0) cv2.destroyAllWindows()
0 0
- vim+python+OpenCV学习三 : 对图像的像素处理
- Python-OpenCV 处理图像(三):图像像素点操作
- Python-OpenCV 处理图像(三):图像像素点操作
- Python-OpenCV 处理图像(三):图像像素点操作
- Python-OpenCV 处理图像(二)(三):滤镜和图像运算 图像像素点操作
- python OpenCV 图像像素访问 (三)
- C#对图像像素处理的三种方式
- 像素级的图像处理---opencv.2学习笔记1
- 我的OpenCV学习笔记(三):利用操作像素完成简单的图像处理:加入椒盐噪声、图像翻转、改变对比度、图像锐化
- opencv学习之快速对图像的像素进行操作 opencv 实战
- 【OpenCV】OpenCV中获取图像的像素点并处理
- vim+python+OpenCV学习一 : 图像显示
- python 使用opencv 对图像mask处理
- vim+python+OpenCV学习四 : 像素通道分割
- opencv学习三种常用方法访问操作图像像素
- OpenCV学习笔记(七):访问图像中像素的三类方法
- 【OpenCV图像处理】三、图像的逻辑运算
- Opencv学习笔记(三)--图像处理的基本操作
- 微信开发基础教程
- CSS3新增颜色属性
- iPhone应用打包和上传APPstore
- 获取LayoutInflater实例
- Struts2的标签库(二)之数据标签
- vim+python+OpenCV学习三 : 对图像的像素处理
- centos open stack源
- 蓝牙
- 【bzoj1458】士兵占领 最大流
- qt-qml移动开发之在ios上开发和部署app流程简介
- Homebrew简介及安装
- iOS编程基础之基本控件
- 视频基本知识
- 文件IO(文件指针)