opencv亚像素边缘精度_opencv 亚像素 算法
亚像素算法亚像素算法的基本思路就是将一个像素再分为更小的单位。
也就是说
1
个像素的灰度值分为
256
级。
所以,
以这类系统为例,
进行亚像素计算就要把像
素分为
255
个小单位。
或许,
可以这样来理解
“
亚像素算法
”
。
一个像素的灰度值从
0
到
255
,
0
是纯黑,
255
是纯白。不妨把像素想像成是一个由
255
个小像素所组成的集合。而每个小
像素都是一个独立的小镜子,那就是说一个像素里面有
255
个小镜子。
灰度值则可以看作反光的小镜子数量:
0
表示
255
个小镜子全都没有反光;
255
表示
255
个
镜子一起反光。上面讲到的所设定的临界灰度值
100
,则可表示
255
个镜子中有
100
个在反
光,另外
155
个镜子没有反光。
现在,回到上面的测量例子中来。
如何算亚像素值呢?非常简单,亚像素值(白色部分)=该像素灰度值
/256
;亚像素值(黑
色部分)=
1
-亚像素值(白色部分)
。
另外,除了这种计算方法,还有其他几种计算亚像素值的方法:
(
1
)亚像素值(白色部分)=(该像素灰度值
×
(临界灰度值
/256
)
)
/256
亚像素值(黑色
部分)=
1
-亚像素值(白色部分)
(
2
)亚像素值(白色部分)=后像素值
/
(前像素值
+
后像素值)亚像素值(黑色部分)
=
1
-亚像素值(白色部分)
(
3
)亚像素值(白色部分)=(像素值-前像素值)
/
(后像素值-前像素值)
亚像素值
(黑色部分)=
1
-亚像素值(白色部分)
以上就是亚像素算法的基本原理。
在结束这个算法讨论之前,
有两点必须注意:
一是在实际情况下,
大家不可能看到像素的一
半是黑色另一半是白色,
这只是为了方便大家理解所画出来的,
而真实的情况是一个像素就
只是一小块灰色,
没有明暗的分别。
明暗的区别只能在像素与像素间显现出来;
二是在描述
亚像素的基本算法时,
所说
“
小镜子
”
的概念完全是为了方便大家理解,
比纯数学语言表达更
为易懂。
亚像素
英文名:
Sub Pixel
定义:
面阵摄像机的成像面以像素为最小单位。例如某
CMOS
摄像芯片,其像素间距为
5.2
微米。
摄像机拍摄时,
将物理世界中连续的图像进行了离散化处理。
到成像面上每一个像素
点只代表其附近的颜色。至于
“
附近
”
到什么程度?就很困难解释。两个像素之间有
5.2
微米
的距离,
在宏观上可以看作是连在一起的。
但是在微观上,
它们之间还有无限的更小的东西
存在。这个更小的东西我们称它为
“
亚像素
”
。实际上
“
亚像素
”
应该是存在的,只是硬件上没
有个细微的传感器把它检测出来。于是软件上把它近似地计算出来。
计算:
数码摄像机的成像面的分辨率以像素数量来衡量。隔行
TV
的分辨率是
576x768
个像
素。
像素中心之间的距离有几个至十几个微米不等。为了最大限度利用图像信息来提高分
辨率,有人提出了
Sub-Pixel
概念。意思是说,在两个物理像素之间还有像素,称之为
Sub-Pixel
,它完全是通过计算方法的出来的。这里提出计算方法。
如果原始图像是
n
行
m
列的,希望做
k
细分的
Sub-Pixel
,这样就有新的行
N
和列
M
,
有
N = k*n
M = k*m
原来相邻
4
个像素包含的区域现在变成了
(k+1)*(k+1)
的区域了;
要填满这个
(k+1)*(k+1)
的区域,
实际上就是从一个小正方形映照到一个大正方形的过程。
在数学上用双线性插值得
算法可以轻松搞定。
(
二次或者三次样条曲线
)
。下面是算法的代码:
opencv亚像素边缘精度_opencv 亚像素 算法相关推荐
- opencv亚像素边缘精度_opencv亚像素边缘检测
一种新的基于 Zernike 正交矩亚像素边缘定位的直径测量方法 [J], 宋晋国; 党 宏社; 洪英; 梁勇 2.一种改进的正交 Fourier-Mellin 矩亚像素边缘检测算法 [C...... ...
- opencv亚像素边缘精度_OpenCV亚像素角点cornerSubPixel()源代码分析
上一篇博客中讲到了goodFeatureToTrack()这个API函数能够获取图像中的强角点.但是获取的角点坐标是整数,但是通常情况下,角点的真实位置并不一定在整数像素位置,因此为了获取更为精确的角 ...
- opencv亚像素边缘精度_亚像素级角点定位原理及opencv实现
为何需要进行亚像素定位? 数字图像通常是离散化成像素:每个像素对应一个整数坐标位置:整数坐标位置对于很多应用并不精确,比如跟踪.相机标定.图像配准.图像拼接以及三维重构:为达到有些应用的精确性,需要精 ...
- opencv亚像素边缘精度_opencv 快速亚像素边缘_亚像素边缘定位在光纤中应用
摘要:随着图象识别技术更广泛的应用到生产领域,其和自动控制相结合可以大大提高工业生产效率,减少人工操作带来的种种弊端.由于使用图像采集,计算机分析.处理.控制,光纤熔接机物镜检测精确度大大提高,从而使 ...
- 深入理解——亚像素 / sub-pixel、亚像素卷积
目录 1.1 亚像素理解 1.2 何谓亚像素? 1.3 何谓亚像素精度? 摘要: 2 图像处理中的sub-pixel是什么意思? 3 PixelShuffle(像素重组) 1.1 亚像素理解 在相机成 ...
- 【深度学习笔记】亚像素 / sub-pixel、亚像素卷积
近段时间需要用到亚像素卷积的知识,因此上网查阅了论文和资料,此文是根据网上的博文以及相关论文,依据个人的理解整理而来. 总而言之,拾人牙慧而已. Content 1 亚像素的定义 1.1 亚像素理解 ...
- OpenCV访问Mat图像中每个像素的值
原文:http://blog.csdn.net/xiaowei_cqu/article/details/7771760 matlab中, a=[1,2,3;4,5,6;7,8,9] a(1,2) 第一 ...
- python opencv获取图片分辨率_python-opencv遍历图片像素,并对像素进行操作
看代码: def access_pixels(frame): print(frame.shape) #shape内包含三个元素:按顺序为高.宽.通道数 height = frame.shape[0] ...
- 【opencv学习笔记】003之图像像素基本操作(获取像素指针、范围处理)及掩膜操作(filter2D)详解
目录 一.前言 二.图像像素基本操作 1.获取图像像素指针 1.获取图像像素指针是什么? 2.相应API 3.获取目的 2.像素范围处理saturate_cast 1.像素范围处理是什么? 2.像素范 ...
最新文章
- You can't specify target table for update in FROM clause
- js基础到精通全面教程--JS教程(转载)--推荐
- python链表怎么定义_码哥聊Python数据结构--链表
- [USACO4.2]Drainage Ditches
- emacs c语言,如何利用Emacs来调试C++程序
- 命令行编译c#源程序
- python中安装decimal模块_第38天:Python decimal 模块
- input输入身份证验证
- 解决速达软件提示将numeric转换为数据类型numeric时发生算术溢出错误问题
- turtle库的精讲
- 提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧
- autojs版本的QQ聊天自动回复机器人源码免费分享,不需要root权限
- jquery实现类似以前凡客诚品右侧图文切换结合效果
- 后盾人tp5教程_5个出色的应用程序以开放数据为后盾
- 人力资源面试必问的十大问题
- NFS搭建错误处理:exportfs:No options for /home/source/*(rw,sync,no_root_squash):suggest(sync) to avoid warn
- 云计算基础概念——Iaas、PaaS、SaaS
- Watcher源码解析
- 超新星计算机网络技术就业方向,超新星网络影响力榜单:林彦俊第三,蔡徐坤跌至第二,第一力压登顶...
- can总线用java怎么解析_CAN信号值解析
热门文章
- 2021春季校园招聘各大公司投递通道汇总
- .net源码分析 – DictionaryTKey, TValue
- IOS APP内后台音乐播放
- Android SO文件的概念、兼容、适配和可能的错误
- 流水线作业调度问题c语言,流水线作业调度问题
- 大数据企业面试真题汇总一
- 内蒙职高计算机专业分数线,内蒙古:本科三批和高职高专批录取分数线公布
- 数组排列组合问题——BACKTRACKING
- 【毕业设计】【期末作业】新闻发布系统(php+mysql)
- BCryptPasswordEncoder加密和匹配的原理 和 springsecurity 的 rememberme原理