博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt 5.3 下OpenCV 2.4.11 开发(5)最高效的像素引用
阅读量:5998 次
发布时间:2019-06-20

本文共 1210 字,大约阅读时间需要 4 分钟。

OpenCV 提供一个函数 getTickCount() ,能够用来測量一段代码的执行时间。另一个函数 getTickFrequency() 用来返回每秒内的时钟周期。代码操作例如以下:

double duration;  duration = static_cast
(getTickCount()); colorReduce(src); duration = static_cast
(getTickCount()) - duration; duration /= getTickFrequency();//执行时间以ms为单位
通过时间计算函数。对上小节中的像素引用方法做出对照。终于得出运算速度最快的 colorReduce() 函数。代码例如以下:

#include 
#include
#include
using namespace cv; void colorReduce(Mat &source, int div = 64) { int row = source.rows; int rowN = source.cols; if ( source.isContinuous() )//检測图像内存是否连续 { rowN = rowN * row; row = 1; } for ( int j = 0; j < row; j ++ ) { uchar* data = source.ptr
(j); for ( int i = 0; i < rowN; i ++ ) { *data = *data/div*div + div/2; data++; *data = *data/div*div + div/2; data++; *data = *data/div*div + div/2; data++; } } } int main() { Mat src = imread("lena.jpg",1); colorReduce(src); namedWindow("src",0); imshow("src",src); waitKey(0); return 0; }

转载地址:http://pzzmx.baihongyu.com/

你可能感兴趣的文章
PostgreSQL 10.1 手册_部分 IV. 客户端接口_第 33 章 libpq - C 库_33.21. 例子程序
查看>>
iOS 性能优化
查看>>
Spread for Windows Forms高级主题(7)---自定义打印的外观
查看>>
【循序渐进学Python】5.Python常用流程控制及其他语句
查看>>
[LeetCode] Intersection of Two Arrays II 两个数组相交之二
查看>>
winpcap 发送数据包
查看>>
在centos系统shell脚本中cat和重定向符号<<EOF结合使用的注意事项
查看>>
cisco 出现 %Error opening tftp://255.255.255.255 错误解决办法
查看>>
VIM编辑器
查看>>
IE主页被篡改 地址框变灰
查看>>
在交换机上配置Telent
查看>>
linux上架设l2tp+ipsec ***服务器
查看>>
jenkins pipeline dotnet 编译模板
查看>>
土木工程师资料管理系统EngineerCMS
查看>>
lua 简单实现 面向对象
查看>>
PHP与JSP的比较
查看>>
ASP.NET MVC4使用JCrop裁剪图片并上传
查看>>
Forget Java to learn Javascript from 0.--Day 1
查看>>
centos7使用haproxy1.7.5实现反向代理负载均衡实战
查看>>
jQuery- 表单验证插件-Validation
查看>>