博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv学习笔记(五)镜像对称
阅读量:5962 次
发布时间:2019-06-19

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

  

 

opencv学习笔记(五)镜像对称

  设图像的宽度为width,长度为height。(x,y)为变换后的坐标,(x0,y0)为原图像的坐标。

水平镜像变换:

  

  代码实现:

  

1 #include 
2 #include
3 #include
4 using namespace std; 5 using namespace cv; 6 7 void hMirrorTrans(const Mat &src, Mat &dst) 8 { 9 CV_Assert(src.depth() == CV_8U);10 dst.create(src.rows, src.cols, src.type());11 12 int rows = src.rows;13 int cols = src.cols;14 15 switch (src.channels())16 {17 case 1:18 const uchar *origal;19 uchar *p;20 for (int i = 0; i < rows; i++){21 origal = src.ptr
(i);//ptr<>函数得到一行的指针,并用[]操作符访问某一列的像素值22 p = dst.ptr
(i);23 for (int j = 0; j < cols; j++){24 p[j] = origal[cols - 1 - j];25 }26 }27 break;28 case 3:29 const Vec3b *origal3;30 Vec3b *p3;31 for (int i = 0; i < rows; i++) {32 origal3 = src.ptr
(i);33 p3 = dst.ptr
(i);34 for (int j = 0; j < cols; j++){35 p3[j] = origal3[cols - 1 - j];36 }37 }38 break;39 default:40 break;41 }42 43 }44 45 int main(void)46 {47 Mat src = imread("Rise&Shine.jpg");48 Mat dst;49 dst = Mat::zeros(src.size(), src.type());50 hMirrorTrans(src, dst);51 imshow("原图像", src);52 imshow("镜像对称图像", dst);53 waitKey(0);54 return 0;55 }

  运行结果:

  原图像:

  

 

  镜像对称图像:

  

 

 

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

你可能感兴趣的文章
协程函数应用
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
Tomcat学习总结(2)——Tomcat使用详解
查看>>
寒假作业二:币值转换
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
课后作业03-验证课件上的代码,并将所有的动手动脑或要求发表博客作业部分整理成一篇博客...
查看>>
html 学习
查看>>
tomcat如何利用waf进行防护
查看>>
2017最新教程--如何下载美拍视频
查看>>
Hadoop 学习总结之三:Map-Reduce入门(转载)
查看>>
node 搭建开发框架express
查看>>
loadrunner-2-8HTML和URL模式
查看>>
RabbitMQ封装实战
查看>>
SQL Server VALUES 使用一记住
查看>>
原码、反码、补码、移码
查看>>
js禁止网页使用右键
查看>>
javascript数学运算符
查看>>
eclipse安装Run-Jetty-Run插件,修改实时生效
查看>>
UIGestureRecognizer
查看>>