dim i as long,j as long dim pixel as long dim r as long,b as long,g as long dim Gray as long '对应的灰度值with picturebox '遍历每一个像素 for i=1 to 高度 for j=1 to 宽度 pixel=.point(i,j)
dim i as long,j as long dim pixel as long dim r as long,b as long,g as long dim Gray as long '对应的灰度值with picturebox '遍历每一个像素 for i=1 to 高度 for j=1 to 宽度 pixel=.point(i,j)
dim i as long,j as long
dim pixel as long
dim r as long,b as long,g as long
dim Gray as long '对应的灰度值with picturebox
'遍历每一个像素
for i=1 to 高度
for j=1 to 宽度
pixel=.point(i,j)
'分离出每个像素的R,G,B分量
r=getColor(pixel,COLOR_R)
g=getColor(pixel,COLOR_G)
b=getColor(pixel,COLOR_B)
'把RGB通道当成三维坐标,当X=Y=Z的时候,就是灰度
Gray=(r+g+b)\3 'r=g=b 有一个比例 更符合肉眼视觉,你可以去GOOGLE一下
'写回去,看看实际效果
pixel=RGB(Gray,Gray,Gray)
next
next
end with
用API的方法基本不会变,只是API的声明有点差异,VC是声明头文件包含API,
而VB是用什么API就声明什么函数,至于运算,相信语言的差别不至于影响
到你要的结果。
dim pixel as long
dim r as long,b as long,g as long
dim Gray as long '对应的灰度值with picturebox
'遍历每一个像素
for i=1 to 高度
for j=1 to 宽度
pixel=.point(i,j)
'分离出每个像素的R,G,B分量
r=getColor(pixel,COLOR_R)
g=getColor(pixel,COLOR_G)
b=getColor(pixel,COLOR_B)
'把RGB通道当成三维坐标,当X=Y=Z的时候,就是灰度
Gray=(r+g+b)\3 'r=g=b 有一个比例 更符合肉眼视觉,你可以去GOOGLE一下
'写回去,看看实际效果
pixel=RGB(Gray,Gray,Gray)
next
next
end with这个不是细化吧?我用这个作为彩色图像的灰度处理的,就是二值化处理,但是现在图像中显示的直线太粗糙了!对图像进行处理起来不精确!我希望能够让图像中的粗糙的线细化成一条直线啊@!