资源简介
c/c++ opencv 实现的几种滤镜效果。交叉,怀旧,光照,漏光。做的不好,仅供参考。
主要是用来实现图像的各种特殊效果。它在Photoshop中具有非常神奇的作用。所有的滤镜在Photoshop中都按分类放置在菜单中,使用时只需要从该菜单中执行这命令即可。滤镜的操作是非常简单的,但是真正用起来却很难恰到好处。滤镜通常需要同通道、图层等联合使用,才能取得最佳艺术效果。如果想在最适当的时候应用滤镜到最适当的位置,除了平常的美术功底之外,还需要用户对滤镜的熟悉和操控能力,甚至需要具有很丰富的想象力。这样,才能有的放矢的应用滤镜,发挥出艺术才华。
主要是用来实现图像的各种特殊效果。它在Photoshop中具有非常神奇的作用。所有的滤镜在Photoshop中都按分类放置在菜单中,使用时只需要从该菜单中执行这命令即可。滤镜的操作是非常简单的,但是真正用起来却很难恰到好处。滤镜通常需要同通道、图层等联合使用,才能取得最佳艺术效果。如果想在最适当的时候应用滤镜到最适当的位置,除了平常的美术功底之外,还需要用户对滤镜的熟悉和操控能力,甚至需要具有很丰富的想象力。这样,才能有的放矢的应用滤镜,发挥出艺术才华。
代码片段和文件信息
#include
#include
#include
using namespace std;
using namespace cv;
int min(double a double b)
{
return floor(a > b ? b : a);
}
double max(double a double b)
{
return (a > b ? a : b);
}
void jiaocha(Mat &src Mat &dst)
{
Mat rgb[3];
split(src rgb);
Mat y[3];
y[0] = cv::Mat::zeros(cv::Size(src.cols src.rows) CV_8UC1);
y[1] = cv::Mat::zeros(cv::Size(src.cols src.rows) CV_8UC1);
y[2] = cv::Mat::zeros(cv::Size(src.cols src.rows) CV_8UC1);
for (int i = 0; i < rgb[2].rows; i++)
{
for (int j = 0; j < rgb[2].cols; j++)
{
int x[3];
x[0]=rgb[0].at(i j);
x[1]= rgb[1].at(i j);
x[2]= rgb[2].at(i j);
if (x[2] < 128)
{
y[2].at (i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-27 18:59 readme\
文件 20471 2019-03-27 18:59 readme\huajiu.png
文件 31153 2019-03-27 18:59 readme\jiaocha.png
文件 4901 2019-01-10 08:45 9滤镜\main.cpp
文件 162173 2019-01-10 08:50 9滤镜\交叉.jpg
文件 112915 2019-01-10 08:50 9滤镜\光照.jpg
文件 228308 2019-01-10 08:42 9滤镜\原图.jpg
文件 117726 2019-01-10 08:50 9滤镜\怀旧.jpg
文件 120996 2019-01-10 08:50 9滤镜\漏光.jpg
文件 90672 2019-01-10 08:42 9滤镜\漏光模板.jpg
目录 0 2019-01-10 08:53 9滤镜\
- 上一篇:mfc用户界面设计
- 下一篇:VC98/CRT.zip
评论
共有 条评论