关于图片的插入,跟opencv访问图像像素的像素值有没有关系

图像处理中,如何方便的同时获取图像的像素值和像素的坐标呢?
回复讨论(解决方案)
这两个。。你如何确定你需要的点呢?&鼠标点?
同时又是啥概念?&
取像素色彩数值肯定需要坐标啊,必然有先后。。
根据像素坐标可以获取所在坐标的像素值
鼠标在图像中标的点的坐标与通过图像数据区遍历得到的坐标是一致的吧?
在视类添加OnMouseMove函数,鼠标移动到该像素时会在状态栏显示
void&CMyView::OnMouseMove(UINT&nFlags,&CPoint&point)&
//&TODO:&Add&your&message&handler&code&here&and/or&call&default
CStatusBar&*pStatusBar&=&(CStatusBar&*)AfxGetMainWnd()
&&&&&&&& -&GetDescendantWindow(AFX_IDW_STATUS_BAR);//获取状态栏指针
CString&str1;
CString&str2;
//&计算图像的绝对坐标
CPoint&pt&=&
int&scroll_x&=&GetScrollPos(SB_HORZ);&&//&滚动条已滚过的长度
int&scroll_y&=&GetScrollPos(SB_VERT);
pt.x&+=&scroll_x+1;&&//&因为图像坐标从0开始,所以最后结果要加1
pt.y&+=&scroll_y+1;
//&读取当前点的颜色
COLORREF&color&=&GetDC()-&GetPixel(point);&&//&COLORREF中颜色的排列顺序是BGR
str1.Format(&&&坐标:&x=%d&&y=%d&&&,pt.x,pt.y&);
str2.Format(&&&灰度值:&%d&&&,GetRValue(color)&);
pStatusBar-&SetPaneInfo(1,NULL,NULL,130);
pStatusBar-&SetPaneText(1,str1);
pStatusBar-&SetPaneInfo(2,NULL,NULL,100);
pStatusBar-&SetPaneText(2,str2);
CScrollView::OnMouseMove(nFlags,&point);
鼠标在图像中标的点的坐标与通过图像数据区遍历得到的坐标是一致的吧?
我也不知道有没有理解你的意思:
一般情况下,用鼠标移动获得的x,y是以左上角为原点的;而图像数据区域的第一个像素值是我们正常角度看图像的最后一行的从左向右的第一个像素值,如果是24位图,像素值的顺序是G,B,R。到达这一行的最后一个像素后,接下来就是倒数第二行的第一个像素。
如果你能在VC中获得图像的像素值,但是不清楚它的存放顺序和规则,你可以通过Matlab得到图像的全部像素值,然后做一下对比就清楚了。
&如果是24位图,像素值的顺序是G,B,R&---&不好意思写错了,顺序应该是B、G、R。
正好适合我,大神啊
举个列子吧!原来的图片,现在从原来的图片进行变幻得到新的图片,假如是640*480的图片,一图片的中心像素(320,240)为原点,像外面扩算发达,离他近的像素点放大,远离他的虽小,达到一种动态平衡,就是把原来的像素重新围绕着中心点排列,进行图像的任意变化随笔 - 29, 文章 - 1, 评论 - 0, 引用 - 0
图像灰度值的概念是什么?灰度也可以认为是亮度,简单说就是色彩的深浅程度。
& & 实际上在我们的日常生活中,通过三原色色彩深浅的组合,可以组成各种不同的颜色。产品能够展现的灰度数量越多,也就意味着这款产品的色彩表现力更加丰富,能够实现更强的色彩层次。例如三原色16级灰度,能显示的颜色就是16&16&16=4096色。不过目前的产品256级灰度已经非常地普遍了。
 所谓颜色或灰度级指黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真。灰度级取决于每个像素对应的刷新存储单元的位数和显示器本身的性能。如每个象素的颜色用16位二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。如每一个象素采用24位二进制数表示,我们就叫它24位图,它可以表达2的24次方即种颜色。
& & &&灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图象,它的象素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧:一个256级灰度的图象,RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。
& & &&灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途
& & 彩色图象的灰度其实在转化为黑白图像后的像素值(是一种广义的提法),转化的方法看应用的领域而定,一般按加权的方法转换,R , G ,B 的比一般为3:6:1。
& & & &任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
& &&1.浮点算法:Gray=R*0.3+G*0.59+B*0.11
& &&2.整数方法:Gray=(R*30+G*59+B*11)/100
& &&3.移位方法:Gray =(R*28+G*151+B*77)&&8;
& &&4.平均值法:Gray=(R+G+B)/3;
& & &5.仅取绿色:Gray=G;
& &通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。
灰度值与像素值的关系
& & & 记录了明亮(暗与亮,黑与白)度信息的2D图像成为亮度(灰度)图像。如果对于一张本身就是灰度图像(8位灰度图像)来说,他的像素值就是它的灰度值,如果是一张彩色图像,则它的灰度值需要经过函数映射来得到。灰度图像是由纯黑和纯白来过渡得到的,在黑色中加入白色就得到灰色,纯黑和纯白按不同的比例来混合就得到不同的灰度值。
&&&&像素中具有RGB三通道的彩色图像来说怎样才能得到灰度图像呢?只要使R=G=B,三者的值相等就可以得到灰度图像。R=G=B=255为白色,R=G=B=0为黑色,R=G=B=小于255的某个整数时,此时就为某个灰度值。

我要回帖

更多关于 图像像素 的文章

 

随机推荐