VB的图像处理问题

第一步:Private Sub Command1_Click()
On Error GoTo Err
CommonDialog1.Filter = "(*.*)|*.*|(*.gif)|*.gif|(*.bmp)|*.bmp|(*.jpg)|*.jpg"
CommonDialog1.ShowOpen
Picture1.Picture = LoadPicture(CommonDialog1.FileName)
Print
Picture3.Picture = Picture1.Picture
Picture4.Picture = Picture1.Picture
Exit Sub
Err: Print
Exit Sub
End Sub

第二步(平滑处理)Private Sub Command3_Click()
DoEvents
width2 = Picture1.ScaleWidth
height2 = Picture1.ScaleHeight
For i = 1 To width2 - 2
For j = 1 To height2 - 2
p1 = Picture1.Point(i - 1, j - 1)
p2 = Picture1.Point(i, j - 1)
p3 = Picture1.Point(i + 1, j - 1)
P4 = Picture1.Point(i - 1, j)
P5 = Picture1.Point(i, j)
P6 = Picture1.Point(i + 1, j)
P7 = Picture1.Point(i - 1, j + 1)
P8 = Picture1.Point(i, j + 1)
P9 = Picture1.Point(i + 1, j + 1)
Red = (p1 Mod 256 + p2 Mod 256 + p3 Mod 256 + P4 Mod 256 + P5 Mod 256 + P6 Mod 256 + P7 Mod 256 + P8 Mod 256 + P9 Mod 256) / 9
Green = (p1 \ 256 Mod 256 + p2 \ 256 Mod 256 + p3 \ 256 Mod 256 + P4 \ 256 Mod 256 + P5 \ 256 Mod 256 + P6 \ 256 Mod 256 + P7 \ 256 Mod 256 + P8 \ 256 Mod 256 + P9 \ 256 Mod 256) / 9
Blue = (p1 \ 65536 + p2 \ 65536 + p3 \ 65536 + P4 \ 65536 + P5 \ 65536 + P6 \ 65536 + P7 \ 65536 + P8 \ 65536 + P9 \ 65536) / 9
Picture2.PSet (i, j), RGB(Red, Green, Blue)
Next j
Next i
End Sub

第一步成功,平滑处理时出现问题,请教大神解决

  VB的图像处理问题
  你是想在第一张图片上添加文字还是什么啊,如果要完成你说的要求是比较困难的。
  但是我不明白,你是不是真的就非要第二张图片上的文字啊。
  如果不是,你可以选择别的途径啊,用label控件可以实现背景通透的,只剩下文字,你说的艺术字也可以这样实现,就是找到这种字体,如果电脑上没有也可以到网上下载,一般情况下都可以找到的。追问

不是字体,是对一个图片的平滑处理。像这个一样,这个图像是实现了逆反处理,现在是平滑处理出了问题,我需要人帮我看看之前的代码里边的算法或者是别的地方,哪里有问题,因为我完全不懂,代码是复制来的。

温馨提示:内容为网友见解,仅供参考
无其他回答

VB溢出和越界的问题,本人做的是图像数字处理,发现COMMND6,commnd7和co...
你的问题其实很简单 你这些VB的图像处理都是基于24位的图像 色彩灰度范围都在0-255 之间,Command6中你的算法,如r = Abs(pic(i, j, 0) - Abs(pic(i, j, 0) - pic(i - 1, j - 1, 0))) 会出现小于0的情况---于是溢出 Command7中浮雕处理也是一样,r = pic(i, j, 0) -...

vb6.0图像识别 求助
在VB6.0中进行图像识别,首先需要读取点阵数据。点阵数据是图像的基本组成元素,通过读取点阵可以获取图像的像素信息,进而进行后续的处理。进行部首拆分识别是汉字识别的一种方法,它将汉字拆分为部首,通过识别部首来实现汉字的识别。这种方法在处理复杂汉字时有其优势,能有效提高识别准确率。在图像识别过程...

VB 放大图像的问题(无模糊边缘、去除锯齿的效果)
回答:呵呵,你已经把正确答案说出来了. g.InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor

Vb.net怎么实现图像的处理
这问题有点笼统,软糖来说说把:图像处理由System.Drawing命名空间负责。主要是Bitmap类和Graphics类。Bitmap表示一个位图,可以是BMP,JPG,PNG等文件。装载位图 Dim 位图 As Bitmap = Bitmap.FromFile("C:\\Image1.PNG")Graphics表示一张画纸,能够进行绘制操作。它可以被窗体、控件、位图调用CreateGrap...

求助VB高手!!有关图象锐化的问题
1.susan算子 SUSAN算子是一种基于图像局部灰度特征的算法,利用一个圆形的模板对图像进行扫描,比较模板内部的点与模板中心点的灰度值,如果灰度差值小于一定的阈值,就认为该点与中心点的灰度相同。统计模板内部与中心点灰度相同的点的个数,与一个阈值进行比较,判断该点是否属于某个区域的边缘点,从而...

VB图像锐化处理
= GetPixel(Form1.Picture1.hdc, x, y) \\ 256 Mod 256 GetPixel 这个是API 函数 需要声明一下 Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long 意思是获得一个点的 颜色!然后用上面的代码 就可以得到 三色了!

vb 编程时 如何解决 图像移动时的颤抖(图像闪烁)问题?
图像移动时的颤抖 用picture就没有闪烁,不要用image 如果你要图像拉伸的话,可以把image放到picture里面,把picture作为容器,图像在image里面就ok啦

如何用vb处理图像的分离
用左边工作栏的套索工具(可以用磁性套索)套住你要的东东,ctrl+c(就是复制),再ctrl+v(黏贴)到别的图片上~如果你说的分离是整张图片的,直接ctrl+c,ctrl+v~

VB .bmp图片数据问题!
If PerPixel <> 24 And PerPixel <> 32 Then MsgBox ("此程序只能处理24位或32位的BMP图像"): Exit Sub If PerPixel = 24 Then t1 = 3 Else t1 = 4 For h = Height To 1 Step -1 For w = Width To 1 Step -1 B = bTemp(t)G = bTemp(t + 1)R = bTemp(t + 2)qq...

VB 放大图像的问题(无模糊边缘、去除锯齿的效果)
比如想放大5倍 可以把中间坐标的像素照旧 其它4个点为空(这样图片变淡或者说变亮)如果想有锯齿,可以将5个坐标点全部填写原来的值 如果想渐变色,可以中间值照旧,边缘4个坐标分别两个相邻坐标值,一般是两个值相加除以2

相似回答