OpenCV——照亮边缘
来源:互联网 发布:不需要的战争知乎 编辑:程序博客网 时间:2024/06/05 05:18
具体的算法原理可以参考:
PS滤镜,照亮边缘
// define head function#ifndef PS_ALGORITHM_H_INCLUDED#define PS_ALGORITHM_H_INCLUDED#include <iostream>#include <string>#include "cv.h"#include "highgui.h"#include "cxmat.hpp"#include "cxcore.hpp"using namespace std;using namespace cv;void Show_Image(Mat&, const string &);#endif // PS_ALGORITHM_H_INCLUDED/*This program will generate "Glowing Edge" effect.*/#include "PS_Algorithm.h"#include <time.h>using namespace std;using namespace cv;int main(void){ string Img_name("4.jpg"); Mat Image_in; Image_in=imread(Img_name); Show_Image(Image_in, Img_name); Mat Image_out(Image_in.size(), CV_32FC3); Image_in.convertTo(Image_out, CV_32FC3); Mat Image_2(Image_in.size(), CV_32FC3); Image_in.convertTo( Image_2, CV_32FC3); Mat kernel; Point anchor; double delta; int ddepth; int kernel_size; ddepth=-1; anchor=Point(-1,-1); delta=0; kernel_size=3; Mat K_x; Mat K_y; K_x=Mat::zeros(kernel_size, kernel_size, CV_32F); K_y=Mat::zeros(kernel_size, kernel_size, CV_32F); float p,q; p=3; q=0; K_x.at<float>(0,0)=-1; K_x.at<float>(0,1)=0; K_x.at<float>(0,2)=1; K_x.at<float>(1,0)=-p; K_x.at<float>(1,1)=q; K_x.at<float>(1,2)=p; K_x.at<float>(2,0)=-1; K_x.at<float>(2,1)=0; K_x.at<float>(2,2)=1; K_y.at<float>(0,0)=-1; K_y.at<float>(0,1)=-p; K_y.at<float>(0,2)=-1; K_y.at<float>(1,0)=0; K_y.at<float>(1,1)=q; K_y.at<float>(1,2)=0; K_y.at<float>(2,0)=1; K_y.at<float>(2,1)=p; K_y.at<float>(2,2)=1; Mat Image_x(Image_in.size(), CV_32FC3); Mat Image_y(Image_in.size(), CV_32FC3); cv::filter2D(Image_2, Image_x, ddepth, K_x); cv::filter2D(Image_2, Image_y, ddepth, K_y); float alpha=0.5; Image_out=alpha*abs(Image_x)+(1-alpha)*abs(Image_y); Image_out=Image_out/255; Show_Image(Image_out, "out.jpg"); imwrite("out.jpg", Image_out*255); waitKey(); cout<<"All is well."<<endl;}#include "PS_Algorithm.h"#include <iostream>#include <string>using namespace std;using namespace cv;void Show_Image(Mat& Image, const string& str){ namedWindow(str.c_str(),CV_WINDOW_AUTOSIZE); imshow(str.c_str(), Image);}
原图:
效果图:
0 0
- OpenCV——照亮边缘
- PS 滤镜算法原理——照亮边缘
- opencv——边缘检测
- OpenCV学习——边缘检测
- opencv——Canny边缘检测
- opencv学习——canny边缘检测
- openCV—Python(11)——图像边缘检测
- openCV—Python(11)——图像边缘检测
- OpenCV学习——Fuzzy Logic模糊逻辑边缘提取
- OpenCV中文网站例程——Canny边缘检测
- Opencv对图像做边缘检测——canny算子
- OpenCV学习笔记(6)——边缘检测
- OpenCV学习笔记——视频的边缘检测
- 【OpenCV】笔记(11)——边缘检测
- 图像基础、OpenCV入门4——图像边缘算法
- opencv——canny算子提取图像边缘
- OpenCV学习笔记(6)——边缘检测
- OpenCV学习之旅2—边缘检测技术
- update 返回更新的行的 id
- 解决“Connection to https://dl-ssl.google.com refused”问题
- 最大堆/最小堆【大根堆/小根堆】
- C语言中的static 详细分析
- linux 远程启动WebLogic
- OpenCV——照亮边缘
- hdu 5078 Osu!(水题)
- 做技术的态度
- allegro设置内存分配器的一个坑
- 关于mysql事务提交
- repr,map,字符串切片的理解
- qt鼠标事件总结(转)
- 1395 2^x mod n = 1
- 给定整形数组A和目标整数t,A相邻元素差绝对值为1,请找到t在A中的位置