对比度增强vb代码的简单介绍
admin 发布:2022-12-19 23:20 152
本篇文章给大家谈谈对比度增强vb代码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
matlab中,使用什么程序能增加图像的对比度?
1、介绍Matlab中对图像的操作,首先介绍图像的读入。使用imread命令:比如有aa.png文件,我们要读入的话,有两种方法:一是直接双击,出现如下对话框,点击finish就可以了。二是使用命令:aa = imread('aa.png');。
2、图像生成之后,以aa为例,要想写入进图像bb.png,使用如下命令:imwrite(aa,'bb.png');可以看到bb与aa的图形相同。
3、也可以将bb保存成其他格式数据:imwrite(aa,'bb.jpg');matlab中有许多格式数据,jpg、tiff等。
4、介绍图像的展示,使用imshow命令:imshow(aa)。
5、图像展示之后,还可以返回句柄:句柄中可以修改展示后figure中的各种属性。
如何用vb 调整显示器亮度对比度设置
新的N卡orA卡驱动都有个接口可以通过软件控制亮度和对比度,具体资料要到他们网站找文档去看
如何用histeq函数来增强真彩色图像的对比度
貌似只能通过灰度图来展示吧,除非你不显示直方图。因为你要用imhist就只能用灰度图。给你段我自己编的程序自己试试,把图片换成你自己的。
这是imadjust的,让图片亮度变暗。
I=imread('d:\sea.jpg');
I=rgb2gray(I);
J=imadjust(I,[],[0 0.5]);
%通过修改highout
K=imadjust(I,[],[],2);
%通过修改r(描述I,J关系曲线形状)
subplot(231),imshow(I);
subplot(232),imshow(J);
subplot(233),imshow(K);
subplot(234),imhist(I,64);
subplot(235),imhist(J,64);
subplot(236),imhist(K,64);
这是直方图均衡化的。
%直方图均衡化,令对比度自适应直方图均衡化
I=imread('d:\star.jpg');
I=rgb2gray(I);
J=adapthisteq(I);
subplot(221),imshow(I)
title('原图');
subplot(222),imshow(J)
title('直方图均衡化后的结果')
subplot(223),imhist(I,64)
title('原图的直方图');
subplot(224),imhist(J,64)
title('直方图均衡化后的结果的直方图');
直方图均衡化应该找那种不是很清楚的,最好是比较暗的图片,能让灰度值提高后把那些不清楚的地方显示出来。
对比度增强
对比度增强
对比度增强是增强技术中的一种比较简单又十分重要的方法。
对于输入图像f(x,y),处理后的图像为g(x,y),则对比度增强方法表示为:
1、线性变换
如果原图像f(x,y) 的灰度范围是[m,M],我们希望变换后的图像g(x,y)的灰度范围是[n,N],那么变换是:
3、非线性变换
从原理上间,我们可以用数学上的一些非线性函数进行变换,比如平方、指数、对数、幂等变换,但通常使用的是对数变换或幂变换
对数变换长用来扩展低值灰度、压缩g高值灰度,这样可以使得低值灰度的图像细节更加容易看清。对数变换表达式为:
常数C用于使变换后的图像g的灰度动态范围符合要求。用于图像获取、显示、打印的许多装置的响应都是幂函数。例如,设f为图像的灰度值,r为CCD图像传感器或胶片等的入射光的强度,则输入光强度与输出信号之间关系可以表示为:
可以实现伽玛校正,一般伽玛取值范围是:
4、其他变换
vb改屏幕亮度
下面是改变屏幕的亮度的代码。
复制下面代码,保存为form1.frm,然后双击打开,并运行,即可看到效果。
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3660
ClientLeft = 60
ClientTop = 450
ClientWidth = 5865
LinkTopic = "Form1"
ScaleHeight = 3660
ScaleWidth = 5865
StartUpPosition = 3 '窗口缺省
Begin VB.VScrollBar Vb
Height = 375
Left = 4920
TabIndex = 9
Top = 1680
Width = 255
End
Begin VB.VScrollBar Vg
Height = 375
Left = 4920
TabIndex = 8
Top = 1200
Width = 255
End
Begin VB.VScrollBar vr
Height = 375
Left = 4920
TabIndex = 7
Top = 720
Width = 255
End
Begin VB.VScrollBar vAll
Height = 375
Left = 4920
TabIndex = 6
Top = 240
Width = 255
End
Begin VB.TextBox tBlue
Height = 375
Left = 4200
TabIndex = 5
Top = 1680
Width = 735
End
Begin VB.TextBox tGreen
Height = 375
Left = 4200
TabIndex = 4
Top = 1200
Width = 735
End
Begin VB.TextBox tRed
Height = 375
Left = 4200
TabIndex = 3
Top = 720
Width = 735
End
Begin VB.TextBox rgbAll
Height = 375
Left = 4200
TabIndex = 2
Top = 240
Width = 735
End
Begin VB.CommandButton Command2
Caption = "设置"
Height = 495
Left = 240
TabIndex = 1
Top = 1920
Width = 1215
End
Begin VB.CommandButton Command1
Caption = "恢复"
Height = 495
Left = 240
TabIndex = 0
Top = 1320
Width = 1215
End
Begin VB.Label Label1
Caption = "蓝"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = H00FF0000
Height = 375
Index = 3
Left = 3480
TabIndex = 13
Top = 1680
Width = 375
End
Begin VB.Label Label1
Caption = "绿"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = H0000C000
Height = 375
Index = 2
Left = 3480
TabIndex = 12
Top = 1200
Width = 375
End
Begin VB.Label Label1
Caption = "红"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = H000000FF
Height = 375
Index = 1
Left = 3480
TabIndex = 11
Top = 720
Width = 375
End
Begin VB.Label Label1
Caption = "全部调整"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Index = 0
Left = 3000
TabIndex = 10
Top = 240
Width = 975
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'Gamma Type
Private Type Gamma
Red As Integer
Green As Integer
Blue As Integer
End Type
Private GammaDay As Gamma 'Day Gamma
Private GammaNight As Gamma 'Night Gamma
'Gamma APIs
Private Ramp1(0 To 255, 0 To 2) As Integer
Private Ramp2(0 To 255, 0 To 2) As Integer
Private Declare Function GetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv As Any) As Long
Private Declare Function SetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
'Set Gamma
Public Sub SetGamma(ByVal intRed As Integer, ByVal intGreen As Integer, ByVal intBlue As Integer)
Dim i As Integer
Dim ScrDC As Long
'Get Screen's DC
ScrDC = GetDC(GetDesktopWindow)
intRed = intRed / 2
intGreen = intGreen / 2
intBlue = intBlue / 2
'Change Ramp
For i = 0 To 255
If intRed 0 Then Ramp2(i, 0) = ConvToSignedValue(ConvToUnSignedValue(Ramp1(i, 0)) * (100 - Abs(intRed)) / 100)
If intRed = 0 Then Ramp2(i, 0) = Ramp1(i, 0)
If intRed 0 Then Ramp2(i, 0) = ConvToSignedValue(65535 - ((65535 - ConvToUnSignedValue(Ramp1(i, 0))) * (100 - intRed) / 100))
If intGreen 0 Then Ramp2(i, 1) = ConvToSignedValue(ConvToUnSignedValue(Ramp1(i, 1)) * (100 - Abs(intGreen)) / 100)
If intGreen = 0 Then Ramp2(i, 1) = Ramp1(i, 1)
If intGreen 0 Then Ramp2(i, 1) = ConvToSignedValue(65535 - ((65535 - ConvToUnSignedValue(Ramp1(i, 1))) * (100 - intGreen) / 100))
If intBlue 0 Then Ramp2(i, 2) = ConvToSignedValue(ConvToUnSignedValue(Ramp1(i, 2)) * (100 - Abs(intBlue)) / 100)
If intBlue = 0 Then Ramp2(i, 2) = Ramp1(i, 2)
If intBlue 0 Then Ramp2(i, 2) = ConvToSignedValue(65535 - ((65535 - ConvToUnSignedValue(Ramp1(i, 2))) * (100 - intBlue) / 100))
Next
'Set Gamma
SetDeviceGammaRamp ScrDC, Ramp2(0, 0)
End Sub
'Save Gamma
Public Sub SaveGamma()
Dim ScrDC As Long
'Get Screen's DC
ScrDC = GetDC(GetDesktopWindow)
'Reset it
GetDeviceGammaRamp ScrDC, Ramp1(0, 0)
End Sub
'RestoreGamma
Public Sub RestoreGamma()
Dim ScrDC As Long
'Get Screen's DC
ScrDC = GetDC(GetDesktopWindow)
'Reset it
SetDeviceGammaRamp ScrDC, Ramp1(0, 0)
End Sub
Private Function ConvToSignedValue(lngValue As Long) As Integer
'Cheezy method for converting to signed integer
If lngValue = 32767 Then
ConvToSignedValue = CInt(lngValue)
Exit Function
End If
ConvToSignedValue = CInt(lngValue - 65535)
End Function
Private Function ConvToUnSignedValue(intValue As Integer) As Long
'Cheezy method for converting to unsigned integer
If intValue = 0 Then
ConvToUnSignedValue = intValue
Exit Function
End If
ConvToUnSignedValue = intValue + 65535
End Function
Private Sub Command1_Click()
rgbAll.Text = 0
Command2_Click
'GammaDay.Red = 0
'GammaDay.Green = 0
'GammaDay.Blue = 0
'SetGamma GammaDay.Red, GammaDay.Green, GammaDay.Blue
End Sub
Private Sub Command2_Click()
GammaNight.Red = Val(tRed.Text)
GammaNight.Green = Val(tGreen.Text)
GammaNight.Blue = Val(tBlue.Text)
SetGamma GammaNight.Red, GammaNight.Green, GammaNight.Blue
End Sub
Private Sub Form_Load()
SaveGamma
rgbAll.Text = vAll.Value
tRed.Text = vr.Value
tGreen.Text = Vg.Value
tBlue.Text = Vb.Value
End Sub
Private Sub Form_Unload(Cancel As Integer)
RestoreGamma
End Sub
Private Sub rgbAll_Change()
tRed.Text = rgbAll.Text
tGreen.Text = rgbAll.Text
tBlue.Text = rgbAll.Text
End Sub
Private Sub vAll_Change()
rgbAll.Text = vAll.Value
End Sub
Private Sub vr_Change()
tRed.Text = vr.Value
End Sub
Private Sub vg_Change()
tGreen.Text = Vg.Value
End Sub
Private Sub vb_Change()
tBlue.Text = Vb.Value
End Sub
关于对比度增强vb代码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:关于js全屏图片滑动代码的信息
- 下一篇:php地区代码(php地区代码大全)
相关推荐
- 05-17做公司网页,做公司网页有什么简单的方法
- 05-12深圳seo公司的简单介绍
- 05-11设计一个简单的网页,独立站建站平台有哪些
- 05-09网页代码,网页代码快捷键
- 05-09hao123网址之家官网的简单介绍
- 05-07孝感seo的简单介绍
- 05-07简历源代码可以上传照片的简单介绍[20240507更新]
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接