图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

注意,图像转置和图像旋转是两回事,图像转置只是把图像的行坐标和列坐标互换,程序实现起来非常简单!而图像旋转则是奖图像旋转多少度!

图像转置的英文为Transpose,而图像旋转的英文为Image Rotation 请注意区别!

下面给出图像转置的MATLAB和OpeCV源码!

源码中用到的图像的下载链接为 http://pan.baidu.com/s/1boKYKFX

首先上MATLAB源码

clear all;
close all;
clc;
A=imread('007_gray.png');
tform=maketform('affine',[0 1 0;1 0 0;0 0 1]);
B=imtransform(A,tform,'nearest');%B中存储的是经过水平镜像变换后的图像
subplot(1,2,1),imshow(A);
title('原图像');
subplot(1,2,2),imshow(B);
title('图像转置');

再上OpenCV的C源码(不使用MAT类)

#include <opencv2/opencv.hpp>
#include <opencv2/legacy/compat.hpp>
#include <fstream>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")  void transpose_image(IplImage *src,IplImage *dst) //实现水平镜像变换
{int M,N;M=src->height;N=src->width;int i=0,j=0;double temp1;CvScalar s1;for(i=0;i<M;i++){for(j=0;j<N;j++){temp1 = cvGet2D(src,i,j).val[0];s1.val[0]=temp1;cvSet2D(dst,j,i,s1);}}}int main()
{   int src_height,src_width;IplImage *pSrcImage = cvLoadImage("007_gray.png", CV_LOAD_IMAGE_UNCHANGED); src_height=pSrcImage->height;src_width=pSrcImage->width;CvSize dst_size;dst_size.height=src_width;dst_size.width=src_height;IplImage *pOutImage = cvCreateImage(dst_size, IPL_DEPTH_8U,1);transpose_image(pSrcImage,pOutImage);const char *pstrWindowsATitle = "原图";  const char *pstrWindowsBTitle = "变换后的图"; //创建窗口      cvNamedWindow(pstrWindowsATitle, CV_WINDOW_AUTOSIZE);      cvNamedWindow(pstrWindowsBTitle, CV_WINDOW_AUTOSIZE);//在指定窗口中显示图像      cvShowImage(pstrWindowsATitle, pSrcImage);    cvShowImage(pstrWindowsBTitle, pOutImage);    //等待按键事件      cvWaitKey();      cvDestroyWindow(pstrWindowsATitle);  cvDestroyWindow(pstrWindowsBTitle); cvReleaseImage(&pSrcImage);  cvReleaseImage(&pOutImage);    return 0;
}

运行结果如下图所示:

再上OpenCV的C++源码(使用MAT类)

程序中使用到的图片的下载链接:pool.jpg_免费高速下载|百度网盘-分享无限制

//OpenCV版本2.4.9
//交流QQ2487872782 #include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>int main()
{  cv::Mat srcImage = cv::imread("pool.jpg");   if(!srcImage.data)   return -1;  // 图像转置cv::Mat resultImage;cv::transpose(srcImage, resultImage);cv::imshow("srcImage", srcImage); cv::imshow("转置后的图像", resultImage);  cv::waitKey(0);  return 0;  }  

运行结果如下图所示:

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

图像转置的MATLAB和OpenCV源码相关推荐

  1. 图像旋转的MATLAB和OpenCV源码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 源码中用到的lena.jpg.lena_gray ...

  2. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  3. 修改并编译OpenCV源码提升霍夫变换线检测效果

    在做图像处理的时候,经常需要用到MATLAB验证与OpenCV实现共同进行,本文动手动机就是:OpenCV提供的Hough线检测不能满足我的要求,故需要对OpenCV源码进行修改.本人菜鸟,才学C++ ...

  4. opencv源码解析之(6):hog源码分析

    一.网上一些参考资料     在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采 ...

  5. OpenCV源码中Haar训练及特征提取的代码说明

    //针对大小为winsize的图,计算所有HaarFeature的rect,存入features返回,即获取所有特征坐标 CvIntHaarFeatures* icvCreateIntHaarFeat ...

  6. python opencv源码_caffegpu源码编译

    软硬件环境 ubuntu 18.04 64bit NVidia GTX 1070Ti anaconda with python 3.7 CUDA 10.1 cuDNN 7.6 opencv 3.4.2 ...

  7. java求sobel算子代码_sobel算子原理及opencv源码实现

    sobel算子原理及opencv源码实现 简要描述 sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测. 原理 算子使用两个33的矩阵(图1)算子使用两个33的矩阵(图1)去 ...

  8. windows+vscode+opencv源码安装配置

    一.参考资料 VScode搭建OpenCV环境 OpenCV使用CMake和MinGW-w64的编译安装 win10下VSCode配置opencv4.4.0(超详细教程,亲测有效) VSCODE中配置 ...

  9. vs工程单步调试进入opencv源码

    对于搞图像的人,opencv是标标配,经常会使用到这个开源库,虽说,配置好工程,就能调用lib,可是不能单步跟踪opencv的源码,始终是内心的痛,好吗?(必须解决这个痛点!) 其实很简单,首先,我是 ...

最新文章

  1. BZOJ 1101: [POI2007]Zap
  2. 文件服务器的配置与管理(3) 共享文件夹的创建与使用
  3. boost::mpi模块实现传输数据类型的骨架和内容的通信器的测试
  4. fanuc机器人与视觉通信_要说工厂干起活来:工业机器人和数控机床才是真正的一对!...
  5. Hybrid A*论文解析(5)
  6. Json解析工具Jackson(简单应用)
  7. linux对磁盘进行分区_如何在Linux中对磁盘进行分区
  8. phpstorm 不能选择 php language level
  9. mac 安装docker
  10. matlab 最优化编程,Matlab最优化编程例子
  11. 文献阅读|Nomograms列线图在肿瘤中的应用
  12. 【图片识别算法】黑白图片输出为二进制矩阵 --python代码
  13. 数据分析案例-电影数据可视化分析
  14. html—table(房屋楼层显示以及根据不同类型进行背景颜色区分)
  15. 三角形外接球万能公式_任意四面体的外接球的半径(克列尔(A.L.Crelle)公式)
  16. 电脑远程qq怎么连接服务器未响应,win10系统打开qq提示未响应需要联机检查的还原技巧...
  17. photon多人在线_Photon Cloud网络多人游戏开发简介
  18. 国内国外主流的CMS
  19. Hadoop or TDengine,如何做物联网大数据平台的选型?
  20. (good)相位噪声基础及测试原理和方法

热门文章

  1. python循环语句-python语句中Python循环语句(附代码)
  2. python3爬虫实例-自己动手,丰衣足食!Python3网络爬虫实战案例
  3. java和python的web自动化有什么区别-Python和Java哪个更适合做自动化测试?
  4. python好找工作吗2017-2017学什么编程语言好找工作?
  5. python北京理工大学推荐的书-Python教程书籍(北理工第2版)思考练习-第三章
  6. 北京理工大学 python专题课程-Python第七章(北理国家精品课 嵩天等)
  7. python用途与前景-Python就业前景如何?三大就业岗位分享
  8. linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
  9. Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭
  10. php语法大全下载,PHP下载文件