opencv 图像减色
来源:互联网 发布:淘宝链接生成器 编辑:程序博客网 时间:2024/05/22 08:17
一利用指针进行图像遍历
#include <opencv2/highgui.hpp>#include <cmath>//速度最快void colorReduce(cv::Mat &image,int div){ int nl=image.rows; int nc=image.cols*image.channels(); //利用位运算 int n=log2(div); uchar mask=0xFF<<n; //判断矩阵的连续性 if(image.isContinuous()) { nc*=nl; nl=1; } for(int i=0;i<nl;i++) { uchar* data=image.ptr<uchar>(i); for(int j=0;j<nc;j++) { *data=(*data&mask)+(div>>1); data++; } }}
二利用迭代器进行遍历
#include <opencv2/highgui.hpp>void colorReduce(cv::Mat &image,int div){ //利用每一行迭代器进行遍历 auto it=image.begin<cv::Vec3b>(); auto itend=image.end<cv::Vec3b>(); for(;it<itend;it++) { //适用于三通道图像 (*it)[0]=(*it)[0]/div*div+div/2; (*it)[1]=(*it)[1]/div*div+div/2; (*it)[2]=(*it)[2]/div*div+div/2; }}
三利用运算符重载
#include <opencv2/highgui.hpp>#include <cmath>//实现简单,最为实用void colorReduce(cv::Mat &image,int div){ //进行位运算 int n=log2(div); uchar mask=0xFF<<n; image=(image&cv::Scalar(mask,mask,mask) +cv::Scalar(div/2,div/2,div/2));}
0 0
- opencv 图像减色
- 【学习 OpenCV】—— 图像减色(color reduced)
- opencv减色算法
- 有关opencv的学习(3)—图像的减色算法
- JavaScript图像处理(6) - 减色算法(Color Reduction)
- 通过减色运算来学习遍历图像像素值三种方法
- OpenCV学习——Kmean均值聚类对图片进行减色处理
- 【OpenCV学习】Kmean均值聚类对图片进行减色处理
- OpenCV图像变换----图像平滑
- opencv 图像阈值分割图像
- opencv--打开图像
- 完成OpenCV图像缩放
- OpenCV----访问图像元素
- OpenCV----图像处理
- opencv 图像元素
- opencv保存图像
- opencv 图像处理
- OpenCV图像灰度化
- 两种在web项目中获取读取文件的路径的方法
- 哈夫曼树 ACM
- React Native ListView的Item设置点击事件时null is not an object
- 第二章 怎样把android studio快捷键设置与eclipse一样
- 使用uiautomator的python封装进行android的UI测试
- opencv 图像减色
- Handler Looper MessageQueue
- 快学Scala第20章----Actor
- atoi() 函数解析
- c语言中关于n个元素的栈和c1赋不上值的问题
- IOS中UIScrollView的详细使用
- VC++ 高效、快速给REG_DWORD赋值
- Android RecyclerView Item动画(Checkbox全选、单选)
- jQuery限制 checkBox 选择个数