雕刻效果的实现【OpenCV+QT】
来源:互联网 发布:java线程同步的方法 编辑:程序博客网 时间:2024/04/24 18:53
雕刻可以区分为凸雕和凹雕。
凸雕基右下角的点减去左上角的点,
凹雕是左上角的点减去右下角的点。
【效果图】
因为进行了缩放,效果看起来差一些。
具体代码如下:
【效果处理代码】
void MainWindow::on_tu1_triggered(){ //注意一点即可,雕刻中,浮雕(凸雕)是右下角的点减去左上角的点 //雕刻,凹雕,是左上角的点减去右下角的点。 //尝试使用多种方式去看雕刻的效果。 //改变的方式包括:最后加的像素值不同;右上角、左上角点选取不同 Mat dst(srcImage.size(),CV_8UC3); for (int i=1; i<srcImage.rows-1; i++) { uchar *current = srcImage.ptr<uchar>(i); uchar *currentBefore = srcImage.ptr<uchar>(i+1); // uchar *currentNext = srcImage.ptr<uchar>(i+1); uchar *dstLine = dst.ptr<uchar>(i); for (int j=1; j<srcImage.cols-1; j++) { for (int k=0; k<3; k++) { int tmp0 = current[3*j+k]-currentBefore[3*(j-1)+k]+128;//此处与其他不同,浮雕1 if (tmp0<0) dstLine[3*j+k]=0; else if(tmp0>255) dstLine[3*j+k]=255; else dstLine[3*j+k]=tmp0; } } } dst.copyTo(dstImage); /*imshow("srcImage",srcImage); imshow("dstImage",dstImage); */ showLabel(dstImage,ui->label2);}
【标签显示图片代码】
void MainWindow::showLabel(Mat m, QLabel *l){ // cv::cvtColor(m,m,CV_BGR2RGB); img = QImage((const unsigned char*)(m.data),m.cols,m.rows,m.cols*m.channels(), QImage::Format_RGB888); //l.clear(); l->clear(); //img= img.scaled(l.width(),l.height()); img=img.scaled(l->width(),l->height()); //l.setPixmap(QPixmap::fromImage(img)); l->setPixmap(QPixmap::fromImage(img));}
【参考资料】
1.学习OpenCV:滤镜系列(1)—— 雕刻&浮雕
http://blog.csdn.net/yangtrees/article/details/9090607
这是一个专题系列,包含很多滤镜处理效果。
2.图像处理函数之C语言实现,有真相
http://www.douban.com/group/topic/28961821/
包含非常多的滤镜效果处理。
1 0
- 雕刻效果的实现【OpenCV+QT】
- opencv特效编辑之雕刻效果
- 浮雕,雕刻,木刻,灯光,油画滤镜的原理及实现 opencv+vs
- 在OpenCV中实现特效之浮雕,雕刻和褶皱
- opencv 雕刻操作
- PS制作雕刻效果
- 能进行调整的文字浮雕和雕刻效果
- 文字的雕刻效果及textview限制行数
- openCV实现卡通画的效果
- 怎么实现ZBrush中头部模型的快速雕刻
- ps树叶的雕刻
- 简单的 AR 效果实现【OpenGL】【OpenCV】
- QT实现透明效果的按钮
- qt文字光晕效果的一种实现
- QT窗口控件透明效果的实现
- 用QT实现淡入淡出的效果
- Qt动画效果的实现,QPropertyAnimation
- Qt实现自定义按钮的三态效果
- Android客户端与服务器交互中的token
- Eclipse插件开发中的选择监听机制(Selection Provider-Listener)
- NYOJ 187 快速查找素数
- 【LeetCode-面试算法经典-Java实现】【021-Merge Two Sorted Lists(合并两个排好序的单链表)】
- 【LeetCode-面试算法经典-Java实现】【022-Generate Parentheses(生成括号)】
- 雕刻效果的实现【OpenCV+QT】
- Integer 缓存策略
- 【LeetCode-面试算法经典-Java实现】【023-Merge k Sorted Lists(合并k个排好的的单链表)】
- HTTP协议概述及请求响应入门
- 关于IDEA不能实时编译的一个临时解决办法。。。。
- Windows App开发之文件与数据
- Codeforces Round #313 (Div. 2) 解题报告
- 第十五章:动态绑定
- 搜索引擎对比分析