Xcode上利用opencv: (二)图像锐化

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cvaux.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <fstream>
using namespace std;
using namespace cv;

void sharpen2D(Mat &image,Mat &result)
{

//             -1
//          -1  5 -1
//             -1
    //构造核
    Mat kernel(3,3,CV_32F,Scalar(0));
    //对核元素进行赋值
    kernel.at<float>(1,1)=5.0;
    kernel.at<float>(0,1)=-1.0;
    kernel.at<float>(2,1)=-1.0;
    kernel.at<float>(1,0)=-1.0;
    kernel.at<float>(1,2)=-1.0;
    filter2D(image,result,image.depth(),kernel);
}



int main( )
{

//    //读入图像
//    //原图像
//    Mat srcImage=imread("/Users/liyixin/Pictures/tree.jpg");
//    //修改尺寸后的图像
//    Mat samImage; samImage=srcImage;
//
//    //创建窗口
//    //namedWindow("FomalSize",CV_WINDOW_NORMAL);
//    //namedWindow("Smallsize",CV_WINDOW_NORMAL);
//
//    //显示原图
//    //imshow("FomalSize",srcImage);
//
//    //尺寸调整
//    resize(srcImage,samImage,Size(srcImage.cols/8,srcImage.rows/8),0,0,INTER_LINEAR);
//
//    //显示尺寸调整后的图
//    imshow("Smallsize", samImage);
//
//    //保存图像
//    //imwrite("/Users/liyixin/Pictures/tree1.jpg", samImage);
//
//    //进行滤波操作
//    //方框滤波
//    Mat out1;
//    boxFilter(samImage, out1, -1,Size(3, 3));
//    //显示效果图
//    imshow("boxFilter" ,out1);
//
//    //均值滤波
//    Mat out2;
//    blur(samImage, out2,Size(3,3));
//    //显示效果图
//    imshow("blur" ,out2);
//
//
//    //高斯滤波
//    Mat out3;
//    GaussianBlur(samImage, out3, Size(3,3), 0);
//    //显示效果图
//    imshow("GaussianBlur" ,out3);
//
//
//    waitKey(0);

        //读入图像
        //原图像
        Mat srcImage=imread("/Users/liyixin/Pictures/tree.jpg");
        //修改尺寸后的图像
        Mat samImage; samImage=srcImage;
        //尺寸调整
    resize(srcImage,samImage,Size(srcImage.cols/8,srcImage.rows/8),0,0,INTER_LINEAR);
    Mat rst;
    imshow("原图像",samImage);

//    Mat kernel(3,3,CV_32F,Scalar(-1));
//    // 分配像素置
//    //    kernel.at<float>(1,1) = 8;
//    kernel.at<float>(1,1) = 8.999;
//
//    // 对图像和自定义核做卷积
//    filter2D(samImage,rst,samImage.depth(),kernel);

    sharpen2D(samImage,rst);
    imshow("锐化结果",rst);
    waitKey(0);
    return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laura_Wangzx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值