一起学opencv2 (三) 扫描图像 COLOR REDUCE

来源:互联网 发布:房子是用来住的 知乎 编辑:程序博客网 时间:2024/06/06 14:15

说明:

彩色图像像素形式为3通道像素,每个通道数据格式为8-bitunsigned char ,因此数据总量为256x256x256 ,这些彩色数据对于计算机来讲处理将占用大量内存和CPU为此,希望通过降低彩色数的方式,降低至256/Nx256/Nx256/N。数据形式是从图片左上角开始,在opencv中默认BGR。有的计算机芯片处理数据为4的倍数,因此如果超出的部分将不会记录。假定图片色度范围为0-255,N选取为64则 色彩数降低为4X4X4;换算公式为  data=data/N*N+N/2;data/N获得 
 色度区间   0-64->0  64-128->1 128-192->2 128-256->3  ,再乘以N,为0 64 128 192,      再加N/2 ,4个色度变为    32 96 160 224,即彩色图的每个通道(,B,G,R)只有4种颜色,整幅图将只有4*4*4种颜色,对于灰度图将只有四种颜色,好像我弄错了可怜,每个通道表示的是灰度值,因此是只有4个亮度点

程序:

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>void colorReduce(cv::Mat &image, int div=64){int nl = image.rows;//number of linesint nc = image.cols * image.channels();//total number of elements(pixel) per linefor (int j = 0; j < nl; j++){uchar* data = image.ptr<uchar>(j);//get the address of rowfor (int i = 0; i < nc; i++){data[i] = data[i] / div*div + div / 2;}}}int main(){cv::Mat image = cv::imread("bfg.jpg",<span style="background-color: rgb(255, 0, 0);">CV_LOAD_IMAGE_UNCHANGED</span>);colorReduce(image);cv::namedWindow("Image");cv::imshow("Image", image);cv::waitKey(0);}
彩色图运行结果






<span style="background-color: rgb(255, 0, 0);">CV_LOAD_IMAGE_UNCHANGED 改为</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">CV_LOAD_IMAGE_GRAYSCALE</span>
灰度运行结果


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 娘家和婆家同时向我借钱怎么办 土地确权后娘家婆家都没有怎么办 结了婚婆家向娘家借钱怎么办? 婆婆的娘家人从我家住怎么办 八个月宝宝断奶后不吃奶粉怎么办 吃母乳的宝宝不吸奶嘴怎么办 宝宝吸了奶嘴不吸母乳怎么办 婴儿吃了奶嘴不吸母乳怎么办 十一个月宝宝断奶不喝奶粉怎么办 孩子三门成绩全不及格家长该怎么办 宝宝快十个月了还不会爬怎么办 小孩写字老把手向里扭曲怎么办 孩子该上四年级了数学差的很怎么办 孩子上三年级了数学成绩好差怎么办 三年级数学老考70-80分怎么办 叛逆期的孩子用死来威胁家长怎么办 叛逆期的孩子抽烟喝酒家长该怎么办 大学遇到不好的老师加课怎么办 两岁的宝宝脾气古怪不听话怎么办 16个月宝宝不听话脾气大怎么办 如果你很害怕去面对一件事怎么办 孩子上幼儿园哭老师不理孩子怎么办 发现幼儿园给孩子吃药片该怎么办 做老师的打学生被家长投诉怎么办 学生认为老师向家长打报告怎么办 老师发打12分的试卷给家长怎么办 孩子在学校顶撞老师不让上学怎么办 被老师骂了不敢去学校怎么办 孩子不爱去幼儿园 总是哭怎么办呢 孩子在幼儿园被老师罚家长该怎么办 孩子不喜欢幼儿园里的体能课怎么办 初中叛逆期的孩子怎么办老师做法 二年级孩子不受老师待见怎么办 孩子该上初中了没学籍怎么办 四个多月的婴儿不喜欢看人怎么办 2个月婴儿不喜欢吃奶粉怎么办 想学习但是又学不进去怎么办 在省外读书 回来读高中学籍怎么办 一岁宝宝这几天不爱吃饭怎么办 2岁的宝宝吃多了怎么办 小孩吃了退烧药吐了怎么办