OpenCV数字图像处理(5) 像素访问之添加椒盐实例 通道分离与合并
【转载请注明出处:http://blog.csdn.net/leytton/article/details/35991945】
配套使用的OpenCV版本:2.4.9 ; Python版本:2.7
主要参考文章(感谢作者分享)
1、OpenCV Python教程(2、图像元素的访问、通道分离与合并) http://blog.csdn.net/sunny2038/article/details/9080047
2、[OpenCV]如何实现人工添加椒盐(Python)http://www.xuebuyuan.com/1378730.html
RGB图的像素img[x][y][0]=img[x][y][1]=img[x][y][2]=255
人工椒盐代码:
# -*- coding: utf-8 -*-
import cv2
import numpy as np# 随机添加椒盐的函数
def salt(img, n):saltImage = img.copy() #复制图像for k in range(n): # 循环添加n个椒盐i = int(np.random.random() * img.shape[1]); # 随机选择椒盐的坐x标j = int(np.random.random() * img.shape[0]); # 随机选择椒盐的坐y标if img.ndim == 2: # 如果是灰度图saltImage[j,i] = 255elif img.ndim == 3: # 如果是RBG图片saltImage[j,i,0]= 255saltImage[j,i,1]= 255saltImage[j,i,2]= 255return saltImage img = cv2.imread("dog.jpg")
saltImage = salt(img, 500)
cv2.imshow("image", img)
cv2.imshow("Salt", saltImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
效果图:
通道分离与合并代码:
<pre name="code" class="python"># -*- coding: utf-8 -*-
import cv2
import numpy as npimg = cv2.imread("hehua.jpg")#通道分离
b = np.zeros((img.shape[0],img.shape[1]), dtype=img.dtype)
g = np.zeros((img.shape[0],img.shape[1]), dtype=img.dtype)
r = np.zeros((img.shape[0],img.shape[1]), dtype=img.dtype)b[:,:] = img[:,:,0] #img[i][j] 表示[蓝色,绿色,红色]的明亮度
g[:,:] = img[:,:,1]
r[:,:] = img[:,:,2]#通道合并
merged = cv2.merge([b,g,r]) cv2.imshow("Blue", r)
cv2.imshow("Red", g)
cv2.imshow("Green", b)
cv2.imshow("Merged", merged)
cv2.waitKey(0)
cv2.destroyAllWindows()
通达分离与合并效果图:
转载于:https://www.cnblogs.com/leytton/p/8253391.html
OpenCV数字图像处理(5) 像素访问之添加椒盐实例 通道分离与合并相关推荐
- OpenCV数字图像处理基于C++:灰度变换
OpenCV数字图像处理基于C++:灰度变换 1.1 灰度变换概念 在图像预处理中,图像的灰度变换是图像增强的重要手段,灰度变换可以使图像对比度扩展,图像清晰,特征明显,灰度变换主要利用点运算来修正像 ...
- 《opencv 数字图像处理 图像基础》
<opencv 数字图像处理 图像基础> 矩阵 通道分离和合并 彩色图像转灰度图像 灰度图转二值化图像 图像运算 矩阵 定义一个显示图像的函数,对于灰度图,里面添加了vmin=0,vmax ...
- OpenCV数字图像处理学习平台
原始图像1-1 处理中的图像1-2 处理结果1-3(检测到所有圆) OpenCV数字图像处理学习平台,是一款可视化.交互式方式学习OpenCV的工具软件,由资深计算机视觉专家精心打造,花费近两年整理成 ...
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...
- OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并
OpenCV与图像处理学习一--图像基础知识.读入.显示.保存图像.灰度转化.通道分离与合并 一.图像基础知识 1.1 数字图像的概念 1.2 数字图像的应用 1.3 OpenCV介绍 二.图像属性 ...
- opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并
基础部分传送门 python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录: python+opencv进阶版学习笔记目录(适合有一定基础) Numpy操作图像 1.遍历图像每一 ...
- c++ opencv数字图像处理:访问图像像素,遍历图像像素
文章目录 前言 一.访问图像像素 1.访问(j,i)处像素 2.例子:在图像中加入白色椒盐噪声 二.遍历图像像素 1.指针扫描 2.opencv自带的卷积运算:filter2D 前言 数字图像处理c+ ...
- c++ opencv数字图像处理:频率域滤波--高通滤波--高斯高通滤波
文章目录 前言 一.高斯高通滤波器(GHPF) 二.代码 前言 数字图像处理c++ opencv(VS2019 opencv4.53)持续更新 一.高斯高通滤波器(GHPF) D 2 ( u , v ...
最新文章
- monkey自定义脚本实践
- 怎么截取图片大小 html,详解html2canvas截图不能截取圆角图片的解决方案
- mahout安装测试
- Yii 框架学习--01 框架入门
- CentOS7 系统基于Vim8搭建Go语言开发环境
- 判断字符是否在1-15之间
- Sublime Text for Mac的快捷键
- KubeFlow安装指南
- datagridview列 值提取_Excel学校如何提取教职工员工名单-Leo老师
- Java中字符串的学习(一)String类的概述及常见方法使用
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...
- jenkins+saltstack+pipeline 部署springcloud 多模块jar包
- MVC @Html.TextBox 添加属性和样式
- 柳氏管理学:自己不会,就要勤做笔记
- 开发S2B2C商城系统需要多少钱
- 逍遥子张勇:CEO要更多思考“长远的事”和“不可为的事”
- SQL AlawaysOn 之四:故障转移集群
- sublime3编程c语言,Sublime Text 3 实现C语言代码的编译和运行(示例讲解)
- RMQ---csu1809
- 国内如何用chatgpt