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

苏州网站建设网站wordpress性能检测

苏州网站建设网站,wordpress性能检测,东莞企业网站建设设计,做gif的网站目录 1.图像仿射变换介绍 仿射变换: 仿射变换矩阵: 仿射变换公式: 2.仿射变换函数 仿射变换函数:warpAffine() 图像旋转:getRotationMatrix2D() 计算仿射变换矩阵:getAffineTransform() 3.demo 1.…

目录

1.图像仿射变换介绍

 仿射变换:

仿射变换矩阵:

仿射变换公式:

2.仿射变换函数

仿射变换函数:warpAffine()

图像旋转:getRotationMatrix2D()

计算仿射变换矩阵:getAffineTransform() 

3.demo


1.图像仿射变换介绍

 仿射变换:

       仿射变换是由平移、缩放、旋转、翻转和错切组合得到,也称为三点变换。

仿射变换矩阵:

       仿射变换可以通过一个2x3的仿射变换矩阵来表示,该矩阵包含了平移、缩放、旋转和剪切等变换的参数。仿射变换矩阵的一般形式如下:

| A B Tx |

| C D Ty |

其中 (A, B) 和 (C, D) 控制了图像的旋转和缩放,(Tx, Ty) 控制了图像的平移。

仿射变换公式:

       对于一个点 P(x, y) 在原始坐标系中,经过仿射变换后得到的新坐标 P'(x', y') 可以通过以下公式计算:

x' = A * x + B * y + Tx

y' = C * x + D * y + Ty

其中,

  • (x, y) 是原始坐标系中点的坐标。

  • (x', y') 是仿射变换后点的新坐标。

  • A、B、C 和 D 是控制旋转、缩放和剪切的矩阵元素。

  • Tx 和 Ty 是平移的量。

这两个公式描述了仿射变换对坐标点的影响。通过适当地设置矩阵元素和平移量,你可以实现各种类型的仿射变换,包括平移、旋转、缩放和剪切。

2.仿射变换函数

仿射变换函数:warpAffine()

void cv::warpAffine ( InputArray    src,

OutputArray    dst,

InputArray        M,

Size                    dsize,

int                      flags = INTER_LINEAR,

int                      borderMode =BORDER CONSTANT,

const Scalar &    borderValue = scalar()

  • src:输入图像
  • dst:仿射变换后输出图像,与src数据类型相同,但是尺寸与dsize相同
  • M:2X3的变换矩阵。
  • dsize:输出图像的尺寸
  • flags:插值方法标志
  • borderMode:像素边界外推方法的标志
  • borderValue:填充边界使用的数值,默认情况下为0

其中,边界填充方法和对应标志:

图像旋转:getRotationMatrix2D()

Mat cv::getRotationMatrix2D ( Point2f center.

double angle

double scale

  • center:图像旋转的中心位置。
  • angle:图像旋转的角度,单位为度,正值为逆时针旋转。
  • scale: 两个轴的比例因子,可以实现旋转过程中的图像缩放,不缩放输入1。

计算仿射变换矩阵:getAffineTransform() 

Mat cv::getAffineTransform ( const Point2f src[]

const Point2f dst[]

)

  • src[]:原图像中的三个像素坐标。
  • dst[]:目标图像中的三个像素坐标。

3.demo

#include <jni.h>
#include <string>
#include <android/bitmap.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <android/log.h>#define LOG_TAG "xxx"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)using namespace cv;
using namespace std;
extern "C"
JNIEXPORT void JNICALL
Java_com_example_myapplication_MainActivity_opencv_1test(JNIEnv *env, jclass clazz,jobject bitmap) {AndroidBitmapInfo info;void *pixels;CV_Assert(AndroidBitmap_getInfo(env, bitmap, &info) >= 0);//判断图片是位图格式有RGB_565 、RGBA_8888CV_Assert(info.format == ANDROID_BITMAP_FORMAT_RGBA_8888 ||info.format == ANDROID_BITMAP_FORMAT_RGB_565);CV_Assert(AndroidBitmap_lockPixels(env, bitmap, &pixels) >= 0);CV_Assert(pixels);//将bitmap转化为Mat类  原图像MatMat image(info.height, info.width, CV_8UC4, pixels);Mat rotation0,img_warp0;double angle=30;//设置图像的旋转角度Size dst_size(image.rows,image.cols);//设置输出图像Point2f center(image.rows/2.0,image.cols/2.0);//设置图像的旋转中心rotation0=getRotationMatrix2D(center,angle,1);//计算仿射变换矩阵warpAffine(image,img_warp0,rotation0,dst_size);imwrite("/sdcard/DCIM/img_warp0.jpg",img_warp0);//根据定义的三个点进行仿射变换Point2f src_points[3];Point2f dst_points[3];//原始图像中的三个点src_points[0]=Point2f(0,0);src_points[1]=Point2f (0,(float )(image.cols-1));src_points[2]=Point2f ((float )(image.rows-1),(float )(image.cols-1));//仿射变换后图像中的三个点dst_points[0]=Point2f ((float )(image.rows)*0.11,(float )(image.cols)*0.20);dst_points[1]=Point2f ((float )(image.rows)*0.15,(float )(image.cols)*0.70);dst_points[2]=Point2f ((float )(image.rows)*0.81,(float )(image.cols)*0.85);Mat rotation1,img_warp1;rotation1= getAffineTransform(src_points,dst_points);//根据对应点求取仿射变换矩阵warpAffine(image,img_warp1,rotation1,dst_size);//进行仿射变换imwrite("/sdcard/DCIM/img_warp1.jpg",img_warp1);}

         (img_warp0)                                                (img_warp1) 

http://www.15wanjia.com/news/182929.html

相关文章:

  • 作品网站wordpress文章总是被修改
  • 下载58同城网招聘找工作seo分析与优化实训心得
  • 做网站选择哪家运营商外贸平台有哪些是免费的直接可以发布售卖产品的
  • 平坝网站建设天津工商网上办事大厅
  • 宁波外贸网站推广个人网站后台管理
  • 互联网网站建设新闻中建国际建设有限公司官网
  • 鹤壁市住房和城乡建设局网站免费网站开发软件有哪些
  • 模板网站也可以做优化黄圃网站建设
  • 企业网站需求文档南宁 建网站
  • 网站建设关键词优化价格推介做界面的网站
  • 万网做网站怎么样阳江彭志雄
  • 二维码制作网站有哪些网站建设请示怎么写
  • 搭建网站大概多少钱广州网站推广奋
  • 渭南市住建设局网站vps 建网站
  • 余杭区高端网站建设南昌百度推广优化排名
  • 企业网站建设解决方案包装设计模板
  • 任丘建设网站制作品牌营销推广代运营
  • 网站备案幕布照片ac域名网站
  • 四川城乡住房建设部网站做网站 业务流程图
  • 网站建设公司专业网站开发制作郑州小企业网站建设
  • 淘宝网站开发网站的登录注册页面怎么做的
  • 做网站刷赞qq怎么赚钱成都设计公司税率
  • 网站最合适的字体大小如何把刚做的网站被百度抓取到
  • 合肥网站制作推广清远专业网站建设服务
  • 宁波seo公司网站推广开发是什么意思
  • 免费凡科建站官网提供网站建设方案服务
  • 百度模板网站模板建设项目水资源论证网站
  • 绍兴柯桥哪里有做网站的jsp开发的网站
  • 手表电商网站网站界面设计软件
  • 给窗帘做网站湖南省建设部网站