VB对图像进行纹理处理和灯光滤镜效果(纯代码)

VB对图像进行纹理处理和灯光滤镜效果(纯代码)
VB对图像进行纹理处理和灯光滤镜效果(纯代码)

Option Explicit

Option Base 0

Private Declare Function SetDIBits Lib "gdi32" (ByV al aHDC As Long, ByV al hBitmap As Long, ByV al nStartScan As Long, ByV al nNumScans As Long, lpBits As Any, lpBI As BITMAPINFOHEADER, ByV al wUsage As Long) As Long

Private Type BITMAPINFOHEADER

biSize As Long

biWidth As Long

biHeight As Long

biPlanes As Integer

biBitCount As Integer

biCompression As Long

biSizeImage As Long

biXPelsPerMeter As Long

biYPelsPerMeter As Long

biClrUsed As Long

biClrImportant As Long

End Type

Private Type ARGB

B As Byte

G As Byte

R As Byte

A As Byte

End Type

Private Type XYZ

Z As Single

Y As Single

X As Single

End Type

Private Source() As ARGB

Private Normal() As XYZ

Private Target() As ARGB

Private tDesc As BITMAPINFOHEADER

Private lFrom As XYZ

Private bLoaded As Boolean

Private Sub V ec3Subtract(dest As XYZ, A As XYZ, B As XYZ)

dest.X = A.X - B.X

dest.Y = A.Y - B.Y

dest.Z = A.Z - B.Z

End Sub

Private Sub V ec3Cross(dest As XYZ, A As XYZ, B As XYZ)

dest.X = A.Y * B.Z - A.Z * B.Y

dest.Y = A.Z * B.X - A.X * B.Z

dest.Z = A.X * B.Y - A.Y * B.X

End Sub

Private Function V ec3Length(src As XYZ) As Single

V ec3Length = Sqr((src.X * src.X) + (src.Y * src.Y) + (src.Z * src.Z))

End Function

Private Sub V ec3Normalize(dest As XYZ, src As XYZ)

Static vLength As Single

vLength = V ec3Length(src)

If vLength > 0 Then

dest.X = src.X / vLength

dest.Y = src.Y / vLength

dest.Z = src.Z / vLength

Else

dest = src

End If

End Sub

Private Function V ecAngle(A As XYZ, B As XYZ) As Single

Static lA As Single

Static lB As Single

lA = A.X ^ 2 + A.Y ^ 2 + A.Z ^ 2

lB = B.X ^ 2 + B.Y ^ 2 + B.Z ^ 2

If lA = 0 Or lB = 0 Then

V ecAngle = 0

Else

V ecAngle = ArcCos((A.X * B.X + A.Y * B.Y + A.Z * B.Z) / (Sqr(lA) * Sqr(lB))) End If

End Function

Private Function ArcCos(V alue As Single) As Single

If Abs(V alue) < 1 Then

ArcCos = Atn(-V alue / Sqr(-V alue * V alue + 1)) + 1.5707963267949

ElseIf V alue = 1 Then

ArcCos = 0

ElseIf V alue = -1 Then

ArcCos = 3.14159265358979

End If

End Function

Private Sub btnApply_Click()

infStatus.Caption = "正在生成地图..." Static X As Long

Static Y As Long

Static P0 As XYZ

Static P1 As XYZ

Static P2 As XYZ

Static V0 As XYZ

Static V1 As XYZ

Static V2 As XYZ

Static Factor As Single

Factor = V al(datFactor.Text)

If Factor > 254 Then Factor = 254

If Factor < 1 Then Factor = 1

For Y = 0 To 255 Step 1

infFore.Width = infBack.Width / 255 * Y

For X = 0 To 255 Step 1

P0.X = X

P0.Y = Y

P0.Z = Source(X, Y).A / Factor

If (X + 1) <= 255 Then

P1.X = X + 1

P1.Y = Y

P1.Z = Source(X + 1, Y).A / Factor

Else

P1.X = X + 1

P1.Y = Y

P1.Z = 0

End If

If (Y + 1) <= 255 Then

P2.X = X

P2.Y = Y + 1

P2.Z = Source(X, Y + 1).A / Factor

Else

P2.X = X

P2.Y = Y + 1

P2.Z = 0

End If

V ec3Subtract V0, P1, P0

V ec3Subtract V1, P2, P0

V ec3Cross V2, V0, V1

V ec3Normalize V2, V2

Normal(X, Y) = V2

Next X

Next Y

imgOutput_MouseMove 1, 0, lFrom.X, 255 - lFrom.Y

End Sub

Private Sub chkRange_Click()

btnApply_Click

End Sub

Private Sub Form_Load()

Show

DoEvents

bLoaded = False

optMode.ListIndex = 5

With tDesc

.biSize = Len(tDesc)

.biWidth = 256

.biHeight = 256

.biPlanes = 1

.biBitCount = 32

.biCompression = 0

.biSizeImage = 65536

.biXPelsPerMeter = 0

.biYPelsPerMeter = 0

.biClrUsed = 0

.biClrImportant = 0

End With

ReDim Source(0 To 255, 0 To 255) As ARGB

ReDim Normal(0 To 255, 0 To 255) As XYZ

ReDim Target(0 To 255, 0 To 255) As ARGB

With lFrom

.X = 127

.Y = 127

.Z = V al(datDistance.Text)

End With

optTexture_Click 0

bLoaded = True

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Erase Source()

Erase Normal()

Erase Target()

End

End Sub

Private Sub imgOutput_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

imgOutput_MouseMove Button, Shift, X, Y

End Sub

Private Sub imgOutput_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbLeftButton Then

If X < 0 Then X = 0

If Y < 0 Then Y = 0

If X > 255 Then X = 255

If Y > 255 Then Y = 255

infStatus.Caption = "正在处理材质..."

Static lColor As XYZ

With lColor

.X = V al(datR.Text)

If .X < 0 Then .X = 0

If .X > 1 Then .X = 1

.Y = V al(datG.Text)

If .Y < 0 Then .Y = 0

If .Y > 1 Then .Y = 1

.Z = V al(datB.Text)

If .Z < 0 Then .Z = 0

If .Z > 1 Then .Z = 1

End With

Static vRange As Single

Static fX As Long

Static fY As Long

Static lTo As XYZ

Static lV ec As XYZ

Static vAngle As Single

Static vMul As Single

With lFrom

.X = X

.Y = 255 - Y

.Z = V al(datDistance.Text)

End With

For fY = 0 To 255 Step 1

infFore.Width = infBack.Width / 255 * fY

For fX = 0 To 255 Step 1

Select Case optMode.ListIndex

Case 0

Target(fX, fY) = Source(fX, fY)

Case 1

With Target(fX, fY)

.R = Source(fX, fY).A

.G = Source(fX, fY).A

.B = Source(fX, fY).A

End With

Case 2

With Target(fX, fY)

.R = 128 + Normal(fX, fY).X * 127

.G = 128 + Normal(fX, fY).Y * 127

.B = 128 + Normal(fX, fY).Z * 127

End With

Case 3

With lTo

.X = fX

.Y = fY

.Z = 0

End With

V ec3Subtract lV ec, lTo, lFrom

V ec3Normalize lV ec, lV ec

With Target(fX, fY)

.R = 128 + lV ec.X * 127

.G = 128 + lV ec.Y * 127

.B = 128 + lV ec.Z * 127

End With

Case 4

With lTo

.X = fX

.Y = fY

.Z = 0

End With

V ec3Subtract lV ec, lTo, lFrom

V ec3Normalize lV ec, lV ec

vAngle = V ecAngle(Normal(fX, fY), lV ec) / 3.14159265358979 * 255 With Target(fX, fY)

.R = vAngle

.G = vAngle

.B = vAngle

End With

Case 5

With lTo

.X = fX

.Y = fY

.Z = 0

End With

V ec3Subtract lV ec, lTo, lFrom

V ec3Normalize lV ec, lV ec

vAngle = V ecAngle(Normal(fX, fY), lV ec) / 3.14159265358979

If chkRange.V alue = 1 Then

vRange = 1 - Sqr((fX - lFrom.X) ^ 2 + (fY - lFrom.Y) ^ 2) / 365

If vRange = 0 Then vRange = 1

vMul = vAngle * vRange

Else

vMul = vAngle

End If

With Source(fX, fY)

Target(fX, fY).R = .R * lColor.X * vMul

Target(fX, fY).G = .G * lColor.Y * vMul

Target(fX, fY).B = .B * lColor.Z * vMul

End With

End Select

Next fX

Next fY

SetDIBits imgOutput.hDC, imgOutput.Image.Handle, 0, 256, Target(0, 0), tDesc, 0 imgOutput.Line (X, Y - 5)-(X, Y + 6), RGB(255, 255, 0)

imgOutput.Line (X - 5, Y)-(X + 6, Y), RGB(255, 255, 0)

infStatus.Caption = "Done."

End If

End Sub

Private Sub optMode_Click()

If bLoaded Then btnApply_Click

End Sub

Private Sub optTexture_Click(Index As Integer)

Static hFile As Long

hFile = FreeFile

Open App.Path & "\" & optTexture(Index).Caption For Binary Access Read As #hFile Get #hFile, , Source()

Close #hFile

btnApply_Click

End Sub

附录(图书管理系统程序代码)

附录 主页面(MDImain): Private Sub addbook_Click() add_book.Show End Sub Private Sub addreader_Click() add_reader.Show End Sub Private Sub adduser_Click() add_user.Show End Sub Private Sub backbook_Click() back_book.Show End Sub Private Sub borrowbook_Click() borrow_book.Show End Sub Private Sub cuibackbook_Click() cuiback_book.Show End Sub Private Sub findbook_Click() find_book.Show End Sub Private Sub findreader_Click() find_reader.Show End Sub Private Sub MDIForm_Load() End Sub Private Sub modifybook_Click() change_book.Show End Sub Private Sub modifypwd_Click()

change_pwd.Show End Sub Private Sub modifyreader_Click() change_reader.Show End Sub Private Sub delbook_Click() del_book.Show End Sub Private Sub delreder_Click() del_reader.Show End Sub Private Sub quitsys_Click() End End Sub 登陆(login): Option Explicit Dim cnt As Integer '记录确定次数 Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else sql = "select * from 用户表where 用户名='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检验密码是否正确 If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me MsgBox "欢迎登录到图书管理系统!", vbOKOnly + vbExclamation, "" MDImain.Show Else

彩色图像处理

1种颜色 颜色定义:颜色是对象的一种属性,它取决于三个因素。 (1)光源-照射光的光谱特性或光谱能量分布 (2)物体-被照射物体的反射特性 (3)成像接收器(眼睛或成像传感器)-光谱能量吸收特性 2色模型 颜色模型,也称为颜色空间或颜色系统,是用于精确校准和生成各种颜色的一组规则和定义。其目的是在某些标准下以通常可接受的方式简化颜色规格。可以通过坐标系描述颜色模型,并且系统中的每种颜色都可以由坐标空间中的单个点表示。 RGB模型:此模型是行业中的颜色标准。通过更改红色和绿色蓝色三种颜色的亮度及其叠加,可以获得各种颜色。该标准几乎涵盖了人类视觉可以感知的所有颜色,并且是目前使用最广泛的颜色模型之一。

CMY模型:颜色合成方法由绿色,品红色和黄色三种基本原色组成。因为彩色显示不是直接来自光的颜色,而是光被对象吸收并被产生的残留光反射,所以CMY模型也称为减法混合模型。 CMYK模型:将黑色添加到CMY模型。 RGB和CMY之间的转换:在MATLAB中,可以通过imcompliance()函数轻松实现RGB和CMY之间的转换 cmy = imcomplement(rgb); rgb = imcomplement(cmy); HSI模型:HSI模型基于人类视觉系统,并通过使用色相,饱和度和强度三个元素直接描述颜色 @亮度是指人们感到光亮的阴影。光的能量越大,亮度越大。 @Hue是颜色的最重要属性,它决定颜色的本质,颜色的本质由反射光的主波长确定。不同的波长产生不同的色彩感觉。

@饱和度是指颜色的深度和强度,饱和度越高,颜色越深。饱和深度与白色的比率有关,白色比率越大,饱和度越低。 从RGB到HSI的颜色转换及其实现 数字; 子图(1,2,1); rgb = imread('plane.bmp)。 imshow(rgb); title('rgb'); 子图(1,2,2); hsi = rgb2hsi(rgb); imshow(hsi); title('hsi'); 从HSI到RGB的颜色转换及其实现 数字 子图(1,2,1);

基于MATLAB的数字二值图像处理与形状分析的实现

本科学生毕业论文 论文题目:基于MATLAB的数字二值图像处理与形 状分析实现 学院:电子工程学院 年级:2011 专业:电子信息科学与技术 姓名:刘学利 学号:20113564 指导教师:王晓飞 2014年06月24日

摘要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能.由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好地为人们服务.数字图像处理是一种通过计算机采用一定算法对图形图像处理的技术.数字图像处理技术已经在各个领域上有了比较广泛的应用.图像处理的信息量很大,对处理速度的要求也比较高.MATLAB强大的运算和图像展示功能,使图像处理变得更加的简单和直观.本文介绍了MATLAB语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行图像处理的方法.主要论述了利用MATLAB实现图像的二值化,二值图像的腐蚀、膨胀、开、闭等形态学处理. 关键词 MATLAB;数字图像处理;二值图像

Abstract Digital image processing is an emerging technology,with the development of computer hardware,real-time digital image processing has become possible due to digital image processing algorithms to appear,making it faster and faster processing speed,better for people services.Digital image processing is used by some algorithms Computer graphics image processing technology.Digital image processing technology has been used in various areas which have a relatively wide range of applications.The amount of information on the processing speed requirement is relatively high.MATLAB is good at computing and graphics display capabilities,so that image processing becomes more simple and intuitive.This paper introduces characteristics of MATLAB language and this MATLAB-based digital image processing environment,describes how to use the MATLAB Image Toolbox for its digital image processing,and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method.Mainly discuss the use of MATLAB for image processing enhancement,binary image and its corrode and dilate and open and close. Key words MATLAB;digital image processing;image enhancement and binary image

遥感数字图像处理教程复习分析

第一章. 遥感概念 遥感(Remote Sensing,简称RS),就是“遥远的感知”,遥感技术是利用一定的技术设备和系统,远距离获取目标物的电磁波信息,并根据电磁波的特征进行分析和应用的技术。 遥感技术的原理 地物在不断地吸收、发射(辐射)和反射电磁波,并且不同物体的电磁波特性不同。 遥感就是根据这个原理,利用一定的技术设备和装置,来探测地表物体对电磁波的反射和地物发射的电磁波,从而提取这些物体的信息,完成远距离识别物体。 图像 人对视觉感知的物质再现。图像可以由光学设备获取,如照相机、镜子、望远镜、显微镜等;也可以人为创作,如手工绘画。图像可以记录、保存在纸质媒介、胶片等等对光信号敏感的介质上。随着数字采集技术和信号处理理论的发展,越来越多的图像以数字形式存储。因而,有些情况下“图像”一词实际上是指数字图像。 物理图像:图像是人对视觉感知的物质再现 数字图像:图像以数字形式存储。 图像处理 运用光学、电子光学、数字处理方法,对图像进行复原、校正、增强、统计分析、分类和识别等的加工技术过程。 光学图像处理 应用光学器件或暗室技术对光学图像或模拟图像(胶片或图片)进行加工的方法技术 数字图像处理 是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。图像处理能做什么?(简答) 是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理主要目的:提高图像的视感质量,提取图像中所包含的某些特征或特殊信息,进行图像的重建,更好地进行图像分析,图像数据的变换、编码和压缩,更好图像的存储和传输。数字图像处理在很多领域都有应用。 遥感图像处理(processing of remote sensing image data )是对遥感图像进行辐射校正和几何纠正、图像整饰、投影变换、镶嵌、特征提取、分类以及各种专题处理的方法。常用的遥感图像处理方法有光学的和数字的两种。

用VB设计图书管理系统

摘要 随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。绘本图书与其他普通图画书的区别在于绘本图书通常有独立的绘画著者,图画有个人风格,画面即情即景,可单幅成画,容易提高儿童读书的积极性。如何科学地管理绘本馆不但关系到读者求知的方便程度,也关系到绘本馆的发展,因此,开发一套完善的绘本图书馆管理系统就成不可少了,图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。 经过分析,使用Microsoft公司的Visual Basic6.0为开发工具,利用其提供的各种面向对象的可视化开发平台作为开发工具,采用面向对象技术,图形化的应用开发环境,尤其是它有一个功能极其强大的集成环境提供级开发人员,使得开发人员可通过菜单、界面、图形浏览工具、对话框以及嵌入的各种生成器来轻松地完成各种复杂的操作。开发过程中不断修正和改进,直到形成用户满意的可行系统。 本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现绘本图书馆信息管理、资源共享的基本目标,从而推动迈向数字化绘本图书馆的步伐,并阐述系统结构设计和功能设计,从绘本图书的入库登记到查询浏览,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。 关键词:绘本;图书管理系统;Visual Basic6.0 I

Abstract With the development of society , Mankind need more knowledge also constantly increase, Under such circumstances, book gradually become the main path to obtain the knowledge of life, and library naturally occupied in people certainly position, how science ground the management library not only relate to the convenient degree that the reader beg to know, but also relate to the library that strategy of development, therefore, develop the management system of a perfect library can't little, Library management system is a typical management information system (MIS), which mainly includes the establishment of database and front-end application maintenance and development of the two. After analysis, the use of Microsoft's development tool Visual Basic6.0 for the use of its various kinds of object-oriented visual development platform as a development tool, object-oriented technology and graphical application development environment, especially its There is an extremely powerful level of integration environment to provide developers, allowing developers through the menu, interface, graphical browsing tools, dialog boxes, and a variety of embedded generators to easily complete a variety of complex operations. Development process, constantly revised and improved, until users are satisfied with it. This paper introduced under the Visual Basic6.0 the environment adoption" from top to bottom total programming, from the detailed process that bottom but up applied development" develop this system, from the step that but the push head into the arithmetic figure of the library, and shows the system construction design and function design, from the books of store in warehouse to register the search to view, books that issue from library card to angle of borrow , become a the whole automation the management the mode, and proceeds careful explain from the software engineering science. Keywords:library; borrow; search to view; Visual Basic6.0

Java图书管理系统-附源码

目录 题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08

图书信息管理系统 题目简述: 题目名称:图书信息管理系统 要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。 需求分析: 图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。 数据结构: 用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有者,图书状态,图书的使用者(允许为空)。具体设计如下图所示: 图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示:

功能模块: 程序设计: 主框架设计: 主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。 图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。 增加图书信息模块: 调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话

图书管理系统含源代码可以运行

第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。

b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书进行赔偿金额计算。 第二章系统功能设计

流行的遥感图像处理软件比较

遥感软件 PCI遥感图像处理软件简介 PCI GEOMATICA是PCI公司将其旗下的四个主要产品系列,也就是PCI EASI/PACE、(PCI SPANS,PAMAPS)、ACE、ORTHOENGINE,集成到一个具有同一界面、同一使用规则、同一代码库、同一开发环境的一个新产品系列,该产品系列被称之为 PCI GEOMATICA。对于20多年来一直致力于向地学界提供全方位解决方案的PCI公司来说,始终坚持领先一步的原则,地理咨讯永远在变迁,而地理咨讯软件更处于变迁的前沿。在今天,随着用户需求广度与深度的不断拓宽与加深,越来越多的人希望软件是一个可以满足用户所有需求的良好的工具。由于对这一点的正确把握,经过4年努力,PCI公司将原有的四个产品系列整合在一起,产生了一个使用简单、灵巧的工作平台----PCI GEOMAITCA。该系列产品在每一级深度层次上,尽可能多的满足该层次用户对遥感影像处理、摄影测量、GIS空间分析、专业制图功能的需要,而且使用户可以方便地在同一个应用界面下,完成他们的工作。在这之前,用户需用多个软件来实现,并且需要面对多个软件经销商、多个软件技术支持、多次的培训、对多个软件的维护,以及不得不投入相当大的精力来在多种数据格式间,进行数据转换。产品模块功能介绍 PCI Geomatica FreeView ( PCI地理咨讯通用视窗) FreeView是PCI公司为用户提供的一个免费的影像浏览工具,用户可以从PCI的网址上直接下载。用于浏览、显示各种数据,如矢量、位图、卫星影像(如LANDSAT, SPOT, RADARSAT, ERS-1/2, NOAA A VHRR等)、航片以及与GIS矢量数据叠加显示、进行属性查询等。FreeView 还具有影像增强,任意漫游、缩放、影像灰度值矩阵显示等功能 PCI Geomatica GeoGateway (PCI通用数据转换工具)PCI Geomatica GeoGateway包含PCI Geomatica FreeView的所有功能。 PCI Geomatica Fundamentals (PCI 地理咨讯基础版) PCI Geomatica Fundamentals包含PCI Geomatica GeoGateway的所有功能。主要包括以下部件: Focus 浏览环境 OrthoEngine FLY!(演示模式)软件许可管理器 PCI Geomatica Prime (PCI地理咨讯专业版) PCI Geomatica Prime包含PCI Geomatica Fundamentals(见上一节)的所有功能。此外,增加了PCI Modeler、EASI、FLY!、算法库等模块。 Geomatica Prime 是强大的、低成本解决方案,提供的工具可用于影像几何校正、数据可视化与分析以及专业标准地图生产。 PCI Productivity Tools (PCI地理咨讯生产工具)该软件是PCI公司为了提高PCI软件的生产能力和效率而专门设计的,其主要功能是为用户提供一系列自动或批处理操作的导向功能。该软件是PCI GEOMATICA PRIME或FUNDAMENTALS功能的扩展。主要提供影像自动镶嵌功能及针对ORTHOENGINE 系列产品的航片,光学卫星影像,雷达卫星的自动同名点收集功能。同时提供影像控制点库及库管理功能。 PCI AIRPHOTO MODEL (PCI地理咨讯系统航空正射影像处理器)是一个与PCI Geomatica Fundamentals或Geomatica Prime模块一起使用的功能强大的航空照片正射校正工具。该模块运用了特殊的算法模型将已经扫描的或由数字摄像机得到的照片制作成精确的正射影像图。所生成的图像可以转化为多种文件形式,作为许多GIS/CAD/MAP软件的数据源。同时用户可选择附加的DEM自动提取、3DVIEW 和三维特征提取模块(OrthoEngine Airphoto DEM)来构造自己的数字摄影测量软件包。该软件具有如下功能:项目工程文件建立(含

基于java的图书管理系统源代码

基于java的图书管理系统源代码声明:本系统是基于C/S的图书管理系统,主要使用的是Oracle数据库,下面附所有实现代码 package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_add extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel panel1,panel2; JLabel book_id_label,book_name_label,author_label, press_label,press_date_label,price_label,book_num_label,borrowed_num _label,a ddress;

彩色图像处理存在的问题及应对策略(附图)

彩色图像处理存在的问题及应对策略(附图)相对于黑白图像处理,彩色图像处理有明显的优势,但是应考虑以下关键问题: 一、色彩准确性 色彩准确性即彩色图像处理需要考虑的颜色精度和差异程度。 许多图像处理中,处理算法必须区分检测到的颜色和目标值之间的差异。因此颜色的准确性非常重要,决定里一个算法的成败。 决定色彩准确性的的是插值算法,插值可能导致颜色检测的细微差异,因为它需要周围像素来确定每个像素的颜色值。 二、色彩串扰性 色彩串扰也是影响色彩准确性的关键因素。色彩串扰是由于红、蓝、绿通道的光谱响应之间相当大的重叠造成的。 当通道之间有大量重叠时,某些颜色系列,尤其是黄或蓝绿色系列,会有很大的不确定性。 色彩串扰会导致色彩伪像和色彩混淆。色彩处理时需要注意提取目标与背景色彩串扰的大小,可通过偏光镜等尽量避免色彩串扰。 ▲棱镜相机中使用的二向色涂层比拜耳滤光片产生更陡的光谱曲线,以最大限度地减少由色彩串扰引起的不确定性。

三、莫尔图案 当图像中包含重复阵列图像时,图像会出现摩尔条纹。 大规模混叠可导致莫尔图案的出现。虽然任何需要捕获更高空间频率的相机都会出现这种效果,但拜耳相机 - 再次因为插值技术 - 更容易出现这种情况。 ▲具有重复颜色混叠的区域中的人造颜色图案可以出现在拜耳图像中。 四、色彩对分辨率的影响 与单色系统相比,彩色相机大大降低了相机的有效分辨率。 虽然拜耳相机可能有500万像素(5百万像素),但插值过程会“平均”许多小细节,使有效分辨率达到整个像素数的三分之一左右。 彩色图像处理存在以上四个问题,因此进行彩色图像处理时需要采取以下四种措施: 一、光照水平和灵敏度 根据系统的亮度级别和可容忍的增益/噪声级别,选择合适的关照说以及相机色彩灵敏度。

ERDAS IMAGINE遥感图像处理教程.

《ERDAS IMAGINE遥感图像处理教程》根据作者多年遥感应用研究和ERDAS IMAGINE软件应用经验编著而成,系统地介绍了ERDAS IMAGINE 9.3的软件功能及遥感图像处理方法。全书分基础篇和扩展篇两部分,共25章。基础篇涵盖了视窗操作、数据转换、几何校正、图像拼接、图像增强、图像解译、图像分类、子像元分类、矢量功能、雷达图像、虚拟GIS、空间建模、命令工具、批处理工具、图像库管理、专题制图等ERDAS IMAGINE Professional级的所有功能,以及扩展模块Subpixel、Vector、OrthoRadar、VirtualGIS等;扩展篇则主要针对ERDAS IMAGINE 9.3的新增扩展模块进行介绍,包括图像大气校正(ATCOR)、图像自动配准(AutoSync)、高级图像镶嵌(MosaicPro)、数字摄影测量(LPS)、三维立体分析(Stereo Analyst)、自动地形提取(Automatic Terrain Extraction)、面向对象信息提取(Objective)、智能变化检测(DeltaCue)、智能矢量化(Easytrace)、二次开发(EML)等十个扩展模块的功能。 《ERDAS IMAGINE遥感图像处理教程》将遥感图像处理的理论和方法与ERDAS IMAGINE软件功能融为一体,可以作为ERDAS IMAGINE软件用户的使用教程,对其他从事遥感技术应用研究的科技人员和高校师生也有参考价值。 目录 基础篇 第1章概述2 1.1 遥感技术基础2

1.1.1 遥感的基本概念2 1.1.2 遥感的主要特点2 1.1.3 遥感的常用分类3 1.1.4 遥感的物理基础3 1.2 ERDAS IMAGINE软件系统6 1. 2.1 ERDAS IMAGINE概述6 1.2.2 ERDAS IMAGINE安装7 1.3 ERDAS IMAGINE图标面板11 1. 3.1 菜单命令及其功能11 1.3.2 工具图标及其功能14 1.4 ERDAS IMAGINE功能体系14 第2章视窗操作16 2.1 视窗功能概述16 2.1.1 视窗菜单功能17 2.1.2 视窗工具功能17 2.1.3 快捷菜单功能18 2.1.4 常用热键功能18 2.2 文件菜单操作19 2.2.1 图像显示操作20 2.2.2 图形显示操作22 2.3 实用菜单操作23

图书馆管理系统设计附带源代码

毕业设计_图书管理系统 一、数据库设计数据库设CREATE DATABASE TSGL GO USE TSGL GO CREATE TABLE Bmanage ( bId varchar(10) PRIMARY KEY, bName varchar(50), --添加图书--图书编号 --书名 bNumber varchar(10), --书数目) GO bSore varchar(50) --分类 CREATE TABLE Madmin ( mName varchar(10)PRIMARY KEY, mPwd varchar(25), mAge varchar(8), mSex varchar(4), mNumber varchar(15), mrole varchar(8) ) GO --图书员管理 --图书管理员姓名--图书管理员密码 --图书管理员年龄 --图书管理员性别 --图书管理员电话 --图书管理员角色

CREATE TABLE Reader ( rSno varchar (10) PRIMARY KEY , rName varchar (10), rPwd varchar (25), rAge varchar (8), rSex varchar (4), rState varchar (8), rNumber varchar (15), rEmail varchar (25), --读者信息表reader --读者号 --姓名 --密码 --年龄 --性别 --状态 --电话号码 --电子邮件rAdress varChar (50), --地址) GO rGrade varChar (15), rClass varchar (15), rRole varchar (8) --年级 --班级 --角色 CREATE TABLE Rrecord ( rSno varchar (10) PRIMARY KEY , rName varChar (10), bId varchar (10), bName varChar (50), bTime varchar (10), bBackTime varchar (10) ) GO CREATE TABLE SysSet ( rRole varchar (8)PRIMARY KEY , rState varchar (8), Fine float (25), rDay varchar (8) --读者编号学号 --读者姓名 --图书编号 --图书名称 --借书时间 --还书时间 --读者角色 --读者可借书数 --过期罚款设置 --可借书天数 ) 二、界面截图及说明 1) 登录窗口(实现管理员与馆长的登陆)

数字图像处理之彩色图像的处理

实验六彩色图像的处理 一、实验目的 1、掌握matlab中RGB图像与索引图像、灰度级图像之间转换函数。 2、了解RGB图像与不同颜色空间之间的转换。 3、掌握彩色图像的直方图处理方法。 二、实验内容及步骤 1、RGB图像与索引图像、灰度级图像的转换。 close all RGB=imread('flowers.tif'); [R_i,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像 figure imshow(R_i,map) [R_g]=rgb2gray(RGB);%RGB图像转换为灰度级图像 figure imshow(R_g)

思考: 将RGB 图像’flowers.tif ’分别转换为32色、256色、1024色索引图像,是否调色板所表示的颜色值越多图像越好? close all

RGB=imread('flowers.tif'); [R_i1,map]=rgb2ind(RGB,8);%RGB图像转换为8色的索引图像 [R_i2,map]=rgb2ind(RGB,32);%RGB图像转换为32色的索引图像 [R_i3,map]=rgb2ind(RGB,256);%RGB图像转换为256色的索引图像 [R_i4,map]=rgb2ind(RGB,1024);%RGB图像转换为1024色的索引图像 Subplot(221);imshow(R_i1,map);title('8色的索引图像'); Subplot(222);imshow(R_i2,map);title('32色的索引图像'); Subplot(223);imshow(R_i3,map);title('256色的索引图像'); Subplot(224);imshow(R_i4,map);title('1024色的索引图像'); 结论:随着索引值的增加图像的质量也有增加,更加清晰,色彩也更加鲜明。但不是不是颜色值越多越好。当索引值过高时,会出现无法识别而致模糊的情况出现。 2、RGB图像与不同颜色空间的转换。 (1) RGB与HSI颜色空间的转换 HSI应用于彩色图像处理。实验六文件夹中rgb2hsi( )函数将RGB颜色空间转换为HSI 空间并显示各分量,hsi2rgb( )函数是将HSI颜色空间转换为RGB颜色空间。 close all

图书馆管理系统源代码

源程序清单 1、文件名 login(login.frm) 功能说明:整个系统的登陆界面,需要输入用户名和登陆密码才能进入到系统中,进行借阅等操作。 源代码: Option Explicit Dim cnt As Integer Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(Combo1.Text) = "" Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else sql = "select * from 系统管理 where 用户名='" & Combo1.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else MsgBox "密码不正确", vbOKOnly + vbExclamation, "" txtpwd.SetFocus End If

End If cnt = cnt + 1 If cnt = 3 Then Unload Me End If Exit Sub End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim connectionstring As String connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=book.mdb" conn.Open connectionstring cnt = 0 End Sub Private Sub txtuser_Change() End Sub 2、文件名 form1(form1.frm) 功能说明:整个系统的主界面,其中包括图书管理、读者管理、图书借阅管理、系统管理、关于,以及在这下面的子菜单。 源代码: Private Sub add_admin_Click() frmadduser.Show End Sub Private Sub add_back_book_Click() frmbackbookinfo.Show

(完整word版)常用的遥感图像处理软件大全,推荐文档

常用的遥感图像处理软件大全 eCognition eCognition是由德国Definiens Imaging公司开发的智能化影像分析软件。eCognition 是目前所有商用遥感软件中第一个基于目标信息的遥感信息提取软件,它采用决策专家系统支持的模糊分类算法,突破了传统商业遥感软件单纯基于光谱信息进行影像分类的局限性,提出了革命性的分类技术——面向对象的分类方法,大大提高了高空间分辨率数据的自动识别精度,有效地满足了科研和工程应用的需求。 ENVI ENVI是一个完整的遥感图像处理平台,其软件处理技术覆盖了图像数据的输入/输出、图像定标、图像增强、纠正、正射校正、镶嵌、数据融合以及各种变换、信息提取、图像分类、基于知识的决策树分类、与GIS的整合、DEM及地形信息提取、雷达数据处理、三维立体显示分析。 ERDAS ERDAS IMAGINE 是美国ERDAS 公司开发的遥感图像处理系统。它以其先进的图像处理技术,友好、灵活的用户界面和操作方式,面向广阔应用领域的产品模块,服务于不同层次用户的模型开发工具以及高度的RS/GIS(遥感图像处理和地理信息系统)集成功能,为遥感及相关应用领域的用户提供了内容丰富而功能强大的图像处理工具,代表了遥感图像处理系统未来的发展趋势。 Fragstats 计算景观格局指数的软件 Fragstats是最新的景观分析软件,可以在Arcgis10.x上运行的畅通无阻 专业的遥感影像处理软件免费下载网站:遥感集市应用汇集 Geomatica Geomatica 软件是地理空间信息领域世界级的专业公司加拿大PCI公司的旗帜产品,Geomatica集成了遥感影像处理、专业雷达数据分析、GIS/空间分析、制图和桌面数

图书标准管理系统含源代码可以运行

图书标准管理系统含源代码可以运行

组长:何关瑶学号11107200105 组员:汪芳 李玉珏 马文磊 雷盛华 第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显

示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt 文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级 等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书 进行赔偿金额计算。

相关文档
最新文档