#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cv.hpp>
void sharpen(const cv::Mat &image, cv::Mat &result){
//如有必要则分配图像
result.create(image.size(), image.type());
for (int j = 1; j < image.rows - 1; j++) //处理除了第一行和最后一行之外的所有行
{
const uchar* previous = image.ptr<const uchar>(j - 1); //上一行
const uchar* current = image.ptr<const uchar>(j); //当前行
const uchar* next = image.ptr<const uchar>(j + 1); //下一行
uchar* output = result.ptr<uchar>(j); //输出行
for (int i = 1; i < image.cols - 1; i++)
{
*output++ = cv::saturate_cast<uchar>(5 * current[i] - current[i - 1] - current[i + 1] - previous[i] - next[i]);
}
}
//将未处理的像素设置为0
result.row(0).setTo(cv::Scalar(0));
result.row(result.rows - 1).setTo(cv::Scalar(0));
result.col(0).setTo(cv::Scalar(0));
result.col(result.cols - 1).setTo(cv::Scalar(0));
}
//OpenCV定义了一个特殊的函数来完成滤波处理:cv::filter2D 我们利用它来重写图像锐化函数:
void sharpen2D(const cv::Mat&image, cv::Mat &result){
//构造核(所有项都初始化为0)
cv::Mat kernel(3, 3, CV_32F, cv::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;
//对图像进行滤波
cv::filter2D(image, result, image.depth(), kernel);
}
void main261(){
//装载图像
cv::Mat image = cv::imread("gray.jpg");
cv::Mat result;
//处理图像
//sharpen(image, result);
sharpen2D(image, result);
//显示图像
cv::namedWindow("Image");
cv::imshow("Image", result);
cv::waitKey(0);
}
没有合适的资源?快使用搜索试试~ 我知道了~
【OpenCV学习笔记 005】 操作像素

共18个文件
cpp:6个
jpg:5个
sdf:1个

需积分: 10 8 下载量 125 浏览量
2016-10-01
22:50:15
上传
评论
收藏 3.23MB RAR 举报
温馨提示
爱分享、爱极客的编程怪兽--DaveBobo 博文 《【OpenCV学习笔记 005】 操作像素》 博文链接: http://blog.csdn.net/davebobo/article/details/52541612 OpenCV版本:2.4.9
资源推荐
资源详情
资源评论

格式:doc 资源大小:125.0KB 页数:9




























收起资源包目录
























共 18 条
- 1
资源评论


DaveBobo
- 粉丝: 779
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Oracle数据管理系统培训.doc
- 基于计算思维的大学计算机基础改革探究.docx
- JSP精品课程设计方案网站.doc
- 网络时代下的高校辅导员工作方法创新.docx
- 单片机的电冰箱控制系统硬件研究设计.doc
- IT建设目标和初步规划信息化建设.ppt
- 微处理机原理与接口技术.ppt
- 复杂性将影响大数据部署.docx
- 基于智慧城市的信息安全研究.docx
- 网络工程师测验考试下半下午(测验考试-解).doc
- IPRAN网络业务闪断故障定位与分析.docx
- 《JAVA语言程序设计方案》期末考试试题及答案.doc
- 电视大学面向对象程序设计期末复习题.doc
- xxx地产智能家居产品规划建议.ppt
- 航天器电力系统技术进展与应用
- 试析中职计算机一体化教学优化策略.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
