当前位置: 首页 > news >正文

opencv学习备份

2019年3月9日

  1. 指针地址向后走

int a[5] ={1,100,200,300}
int *p=a
–>*p==1
–>*p++100 指针移动
–> p
0x00000000 内存地址

int a=1
int *p=&a 指针赋值常量,需要加寻址符号
–>*p==1
–>*p++

CV_8UC1,CV_8UC2,CV_8UC3。
(最后的1、2、3表示通道数,譬如RGB3通道就用CV_8UC3)

3.InputArray类型的src,输入图像,即源图像,填Mat类的对象即可。

2019年11月19日11:12:26
1.用normalize可以归一化图像,在光照有梯度的时候,可以指定一定范围来归一化,使得本来有梯度的图像像素值都归类同一个像素值。
equalHist直方图均衡化无法消除光照影响。
2.领域生长法
3.在opencv中,坐标的原点在左上角,与x轴平行的方向为角度为0,逆时针旋转角度为负,顺时针旋转角度为正。

数据类型
CV_(S|U|F)C
S = 符号整型
U = 无符号整型
F = 浮点型
C:代表一张图片的通道数,比如:
1–灰度图片–grayImg 单通道图像
2–RGB彩色图像 3通道图像
3–带Alph通道的RGB图像 4通道图像
CV_8UC1 是指一个8位无符号整型单通道矩阵,
CV_32FC2是指一个32位浮点型双通道矩阵

cv::Mat是一个类(Class),而CvMat是一个Struct

CvMat结构体中比较常用的成员
1.宽度(width)
2.高度(height)
3.行长度(step,单位为字节)
4.指向图像块的数据指针(data)。

cv::Mat中提供ptr函数访问任意一行像素的首地址

用指针遍历
int nl = image.rows; //行数
int nc = image.cols * image.channels();
for (int j = 0; j<nl; j++)
{
uchar* data = image.ptr(j);
for (int i = 0; i<nc; i++)
{
data[i] = data[i] / div*div + div / 2;
}
}

CV_32F 用 Mat.at(y,x)

http://www.lryc.cn/news/358038.html

相关文章:

  • Unity 中获取调用者方法名
  • k8s集群中pod的容器资源限制和三种探针
  • tar 详细说明
  • 渗透测试工具Cobalt strike-2.CS基础使用
  • 【UE5.1 角色练习】08-物体抬升、抛出技能 - part2
  • Java面试题--JVM大厂篇(1-10)
  • 【知识拓展】机器学习基础(一):什么是预处理对象、模型对象 、pipeline、Tokenizer
  • Linux dig 命令
  • 后台接口返回void有设置response相关内容,前端通过open打开接口下载excel文件
  • scp问题:Permission denied, please try again.
  • new CCDIKSolver( OOI.kira, iks ); // 创建逆运动学求解器
  • 【Go】Swagger v2 转 OpenApi v3 CLI - swag2op
  • python Z-score标准化
  • 人工智能的数学基础(高数)
  • React(四)memo、useCallback、useMemo Hook
  • 前端介绍及工具环境搭建
  • uniapp高校二手书交易商城回收系统 微信小程序python+java+node.js+php
  • Vue3 图片或视频下载跨域或文件损坏的解决方法
  • vue2和3区别
  • 倍福TwinCAT3 PLC编程软件下载安装
  • Linux一键式管理jar程序执行周期【完整脚本复制可用】
  • 设计模式之六大设计原则
  • 【iOS】UI学习(一)
  • 如何使用Vue和Markdown实现博客功能
  • 1初识C#
  • 查询指定会话免打扰
  • Linux-命令
  • STM32读写内部FLASH读取芯片id
  • 前端npm打包及报错解决
  • vbs执行报错vbs没有文件拓展,双击无法打开