博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于opencv的双线性插值的实现(二)
阅读量:5839 次
发布时间:2019-06-18

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

hot3.png

上篇博客用实现了基于双线性插值算法的图像缩放,主要函数zoom中大量使用了指针。采用指针来读取图像像素,优点是执行速度快,缺点是代码不易阅读。本篇采用opencv库中自带的cvGet2D()和cvSet2D()函数来读写图像像素,虽然执行速度较慢,但代码阅读性强,简单明了。

下面是主要函数zoom的实现,其他部分参考我的上一篇博客。

void zoom(IplImage* src, IplImage* dst){    int srcWidth = src->width;    int srcHeight = src->height;    int dstWidth = dst->width;    int dstHeight = dst->height;    //源图像与目标图像的宽高比例,这里减1很重要,否则有时报错,有时不报错。这点困扰了我很久    const float tx = (srcWidth-1.0f)/(dstWidth-1.0f);    const float ty = (srcHeight-1.0f)/(dstHeight-1.0f);    CvPoint2D32f uv;//存储源图像的浮点坐标    CvPoint3D32f f1;    CvPoint3D32f f2;    for (int j=0; j

转载于:https://my.oschina.net/u/923087/blog/279317

你可能感兴趣的文章
Java设计模式
查看>>
华为OJ 名字美丽度
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
基本概念复习
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
【数据库】
查看>>
WindowManager.LayoutParams 详解
查看>>
Linux中rc的含义
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
802.11 学习笔记
查看>>
构建Docker Compose服务堆栈
查看>>
浮点数内存如何存储的
查看>>