opencv-学习笔记(2)


这章记录了

  1. 获取像素点,改变像素点
  2. 获取图像的属性(行,列,通道数,数据类型)
  3. roi感应区
  4. 拆分以及合并图像通道
  5. 边缘扩充

opencv获取像素点,改变像素点

----下面是一般方法

获取像素很简单只需要img[x,y]就可以获取像素

img[x,y,0/1/2]就可以获取brg中某一值

修改也很简单img[100,100]=[255,255,255]即可

----优化

我们用item获取元嵩

itemset改变元素

代码如下

import numpy as np
import cv2 img=cv2.imread('1.jpg',1)
print(img.item(10,10,2))
img.itemset((10,10,2),100)
print(img.item(10,10,2))

opencv获取图像的行列和通道数

用函数img.shape即可

img.size获取像素数目

img.dtype获取图像数据类型

opencv里面一般是##uint8


图像感应ROI

简单获取感应区只需要

img[100:200,0:200]#获取100列到200列,0行到200行

import numpy as np
import cv2 img=cv2.imread('new.jpg',1)
ball=img[100:200,0:200]#100列到200列,0行到200行
img[400:500,400:600]=ball
cv2.imshow('fuck',img)
cv2.waitKey(0)

效果如下


opencv拆分以及合并图像通道

cv2.namedWindow('bgr')
img=cv2.imread('1.jpg',1) img[:,:,2]=0
cv2.imshow('bgr',img)
cv2.waitKey(0)

这段代码把所有红色设为0

得到蓝绿图

红蓝img[:,:,1]=0

最后是红绿图。


图像边缘扩充

cv2.copyMakeBorder(图像对象,上下左右四个边界的扩充像素,扩充方式)

扩充方式有

cv2.BORDER_REPLICATE

cv2.BORDER_REFLECT

cv2.BORDER_REFLECT_101

cv2.BORDER_WRAP

cv2.BORDER_CONSTANT,value=BLUE

这里不放图了

opencv-学习笔记(2)的更多相关文章

  1. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  2. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  3. opencv学习笔记(五)镜像对称

    opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...

  4. opencv学习笔记(四)投影

    opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...

  5. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  6. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  7. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  8. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

  9. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  10. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波

    http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...

随机推荐

  1. el表达式不显示值

    1.场景是自己搭建一个ssm的项目,登录页面跳转到首页,首页显示登录用户的信息,用request传递的值,用el表达式在jsp页面中没有显示 2.解决办法 早jsp的代码中添加头<%@ page ...

  2. position定位笔记

    position定位 position一共有四个可选属性:static/relative/absolute/fixed 代码: <style type="text/css"& ...

  3. var let const的一些区别

    var let const 都是来定义变量的. var let 作用域有些区别. const 类似于java中的常量的概念.即:只能给一个变量赋值一次,即指定一个引用. 举例来说: function ...

  4. 「PHP」抽象工厂模式

    引言   所属:创建型模式,常用设计模式之一 参考资料: <大话设计模式>程杰   模式概述    官方定义:抽象工厂模式(Abstract Factory),提供一个创建一系列相关或互相 ...

  5. django之路由分组,反向解析,有名,无名分组

    路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态的概念 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',vi ...

  6. 使用bison和yacc制作脚本语言(4)

    我们现在开始设计数据结构: interpreter.h #ifndef INTERPRETER #define INTERPRETER #include "../include/eval.h ...

  7. java 用户修改密码

    import java.util.Scanner; class Member { private String mima; private String name; public String get ...

  8. epoll 服务端 ET模式

    windows下IOCP, linux下 epoll. epoll模型其实也是一个同步模型,ET是epoll里面的一种模式,叫 边缘触发. 个人理解,类似于 windows下的事件选择模型.代码如下: ...

  9. Multiclonal Invasion in Breast Tumors Identified by Topographic Single Cell Sequencing

    Title:  Multiclonal Invasion in Breast Tumors Identified by Topographic Single Cell Sequencing 课题的目的 ...

  10. BZOJ3224_普通平衡树_KEY

    题目传送门 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.平衡二叉树的常用实现方法有红 ...