freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)相冊(cè)管理系統(tǒng)的開發(fā)畢業(yè)論文-資料下載頁(yè)

2025-06-24 06:38本頁(yè)面
  

【正文】 ffineTransform實(shí)例所描述的從源2D坐標(biāo)到目標(biāo)2D坐標(biāo)變換。圖像卷積是一種重要的圖像處理方法,其基本原理是:像元的灰度值等于以此像元為中心的若干個(gè)像元的灰度值分別乘以特定的系數(shù)后相加的平均值。由這些系數(shù)排列成的矩陣叫卷積核。選用不同的卷積核進(jìn)行圖像卷積,可以取得各種處理效果。例如,除去圖像上的噪聲斑點(diǎn)使圖像顯得更為平滑;增強(qiáng)圖像上景物的邊緣以使圖像銳化;提取圖像上景物的邊緣或特定方向的邊緣等。常用的卷積核為33或55的系數(shù)矩陣,有時(shí)也使用77或更大的卷積核以得到更好的處理效果,但計(jì)算時(shí)間與卷積核行列數(shù)的乘積成正比地增加Java中使用ConvolveOp類實(shí)現(xiàn)從源到目標(biāo)的卷積,在構(gòu)造ConvolveOp時(shí)需要傳入一個(gè)Kernel,即卷積核對(duì)象。具體API為:public ConvolveOp(Kernelkernel)。一般計(jì)算機(jī)對(duì)色彩的解析都是基于RGB或者ARGB色彩模式,而從視覺的角度定義的顏色模式則更適合用戶的理解,而HSB正是基于人類對(duì)色彩的感覺來(lái)定義色彩的。HSB模型描述顏色的三個(gè)特征:色相H(Hue):在0~360176。的標(biāo)準(zhǔn)色輪上,色相是按位置度量的。在通常的使用中,色相是由顏色名稱標(biāo)識(shí)的,比如紅、綠或橙色。飽和度S(saturation):是指顏色的強(qiáng)度或純度。飽和度表示色相中彩色成分所占的比例,用從0(灰色)~100%(完全飽和)的百分比來(lái)度量。在標(biāo)準(zhǔn)色輪上飽和度是從中心逐漸向邊緣遞增的。亮度B(brightness):是顏色的相對(duì)明暗程度,通常是從0(黑)~100%(白)的百分比來(lái)度量的。而在Java中提供了簡(jiǎn)單的API來(lái)處理這個(gè)色彩模式的變換:public static int HSBtoRGB(floathue, floatsaturation, floatbrightness)public static float[] RGBtoHSB(intr, intg, intb, float[]hsbvals) 圖像處理的具體實(shí)現(xiàn)有了上面的理論基礎(chǔ)我們既可以方便的實(shí)現(xiàn)一些簡(jiǎn)單的圖像變換:圖像的旋轉(zhuǎn)。圖像旋轉(zhuǎn)分為改變大小和保持大小。改變大小的旋轉(zhuǎn)可以先通過公式算出邊界點(diǎn),把圖像平移邊界數(shù)值,以保證圖片旋轉(zhuǎn)后位于至正坐標(biāo)內(nèi)。具體如下:float cosTheta = (float) (theta)。float sinTheta = (float) (theta)。// 除(0,0)以外的三個(gè)頂點(diǎn)坐標(biāo)float ptX[] = new float[3]。 float ptY[] = new float[3]。// 任意一點(diǎn)坐標(biāo)float x。 float y。// 旋轉(zhuǎn)后的邊界點(diǎn)float minX = 0。 float minY = 0。 float maxX = 0。 float maxY = 0。ptX[0] = srcWidth 1。 ptY[0] = 0。 ptX[1] = 0。 ptY[1] = srcHeight 1。ptX[2] = srcWidth 1。 ptY[2] = srcHeight 1。// 計(jì)算旋轉(zhuǎn)后的邊界for (int i = 0。 i 3。 i++) {x = ptX[i] * cosTheta ptY[i] * sinTheta。 if (x minX) { minX = x。 } if (x maxX) { maxX = x。 } y = ptX[i] * sinTheta + ptY[i] * cosTheta。 if (y minY) { minY = y。 } if (y maxY) { maxY = y。 }}// 計(jì)算旋轉(zhuǎn)后的圖片大小int destWidth = (maxX minX + 1)。int destHeight = (maxY minY + 1)。// 根據(jù)平移矩陣平移(其中tx=minX,ty=minY)AffineTransform at = (minX, minY)。// 根據(jù)矩陣旋轉(zhuǎn)(其中旋轉(zhuǎn)角度theta=theta)(theta)。AffineTransformOp ato = new AffineTransformOp(at,)。BufferedImage tempImage = new BufferedImage(destWidth,destHeight, )。BufferedImage destImage = new BufferedImage(destWidth, destHeight, )。// 得到旋轉(zhuǎn)后的圖片alpha為0處,為黑色(0x00000000),需要繪制一次背景(srcImage, tempImage)。Graphics2D g2d = ()。()。(0, 0, destWidth, destHeight)。// 把ARGB得圖轉(zhuǎn)到RGB(tempImage, 0, 0, destWidth, destHeight, null)。而不變圖像大小的變換只需要,以中點(diǎn)為錨點(diǎn)旋轉(zhuǎn)圖像即可。具體實(shí)現(xiàn)如下:AffineTransform at = (theta, srcWidth / 2, srcHeight / 2)。AffineTransformOp ato = new AffineTransformOp(at, )。BufferedImage tempImage = new BufferedImage(srcWidth, srcHeight, )。BufferedImage destImage = new BufferedImage(srcWidth, srcHeight, )。// 得到旋轉(zhuǎn)后的圖片alpha為0處,為黑色(0x00000000),需要繪制一次背景(srcImage, tempImage)。Graphics2D g2d = ()。()。(0, 0, srcWidth, srcHeight)。// 把ARGB得圖轉(zhuǎn)到RGB(tempImage, 0, 0, srcWidth, srcHeight, null)。同理,圖像的定比縮放、水平鏡像、垂直鏡像也可以如此實(shí)現(xiàn),不同的是獲取的AffineTransform實(shí)例不同罷了,而且也并不會(huì)產(chǎn)生多余的背景,故而也不需要重繪背景。獲取實(shí)例的實(shí)現(xiàn)如下:定比縮放。AffineTransform at = (factor, factor)。水平鏡像。AffineTransform at = new AffineTransform({ 1, 0, 0, 1, 0, 0 })。垂直鏡像。AffineTransform at = new AffineTransform({ 1, 0, 0, 1, 0, 0 })。銳化。通過一個(gè)33的卷積核進(jìn)行卷積,其中卷積核矩陣如下:[ 1 1 1 ][ 1 9 1 ][ 1 1 1 ]而具體具體實(shí)現(xiàn)如下:int srcWidth = ()。int srcHeight = ()。float sharpenData[] = { , , , , , , , , }。ConvolveOp co = new ConvolveOp(new Kernel(3, 3, sharpenData))。BufferedImage destImage = new BufferedImage(srcWidth, srcHeight,)。(srcImage, destImage)。return destImage。同理,模糊也如此,只是核心矩陣不同,模糊的卷積核矩陣為:[ ][ ][ ]色調(diào)調(diào)整。色調(diào)調(diào)整是把圖像的每個(gè)像素轉(zhuǎn)換至HSB色彩模式后調(diào)整色調(diào)分量,然后轉(zhuǎn)換回RGB色彩模式。具體實(shí)現(xiàn)如下:BufferedImage destImage = new BufferedImage(srcWidth, srcHeight, )。for (int i = 0。 i srcWidth。 i++) {for (int j = 0。 j srcHeight。 j++) {int color = (i, j)。 float[] hsb = RGB2HSB(color)。 hsb[0] += deltaHue。 color = HSB2RGB(hsb)。 (i, j, color)。 }}return destImage。同理,圖像的飽和度、亮度的調(diào)整也是如此,只是調(diào)整的分量不同罷了。 Applet與服務(wù)器間數(shù)據(jù)交換實(shí)現(xiàn)從Applet的安全機(jī)制,可知當(dāng)Applet想要與非Applet提供主機(jī)的其他Web服務(wù)器通信時(shí),就會(huì)由于沒有權(quán)限而產(chǎn)生異常[16]。為了讓Applet可以獲取文件上傳服務(wù)器的信息就必須把Applet部署在文件上傳服務(wù)器上。從而使Applet可以獲得訪問服務(wù)器的權(quán)限,獲取服務(wù)器端得文件。然后,Applet就可以通過調(diào)用URLConnection連接來(lái)獲取圖片的數(shù)據(jù)流。具體實(shí)現(xiàn)如下:URL url = new URL(location)。URLConnection connection = ()。(false)。()。InputStream is = ()。BufferedImage image = (is)。()。return image。而當(dāng)Applet需要將修改后的圖片回傳至服務(wù)器時(shí),會(huì)向服務(wù)器建立一個(gè)HttpConnection,通過HTTP協(xié)議連接服務(wù)器端得一個(gè)Servlet,該Servlet通過讀取Applet傳來(lái)的圖片數(shù)據(jù)流,通過Java的ImageIO提供的API把圖片寫回至服務(wù)器的文件系統(tǒng)。并通過返回碼通知Applet是否操成功。從而實(shí)現(xiàn)Applet與服務(wù)器之間的圖片數(shù)據(jù)傳遞。具體實(shí)現(xiàn)如下:String ext = ((39。.39。) + 1)。URL url = new URL(servletAddr)。HttpURLConnection connection = (HttpURLConnection) ()。(true)。(true)。//發(fā)送格式為二進(jìn)制流(ContentType, application/octetstream)。(POST)。(file, file)。OutputStream os = ()。(image, ext, os)。(() + : + ())。()。return ()。這樣就可以實(shí)現(xiàn)Applet從上傳服務(wù)器獲取資源,在線圖像的處理,然后保存回上傳服務(wù)器這一系列的操作了,也就實(shí)現(xiàn)了在線圖像處理這個(gè)重要功能。 框架技術(shù)的整合實(shí)現(xiàn)通過開頭對(duì)各個(gè)框架及其技術(shù)特性的介紹,可以看出系統(tǒng)采用Hibernate、Spring、Struts、DWR四個(gè)框架整合方案的優(yōu)點(diǎn)在于使得開發(fā)人員可以各司其職,著重將注意力集中到具體的業(yè)務(wù)邏輯的實(shí)現(xiàn)上,避免將過多的精力浪費(fèi)在頁(yè)面的設(shè)計(jì)和對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的操作之上,減少整個(gè)系統(tǒng)開發(fā)的時(shí)間。而框架的整合要如何實(shí)現(xiàn)則是這個(gè)章節(jié)的重點(diǎn),接下來(lái)將介紹各框架整合的具體配置過程。 Hibernate與Spring的整合實(shí)現(xiàn)生成數(shù)據(jù)庫(kù)表的映射對(duì)象類,即實(shí)現(xiàn)ORM。具體實(shí)現(xiàn)如下:創(chuàng)建實(shí)體Bean:public class GazeUser implements { private Long userId。其他屬性省略…… public GazeUser() { } public Long getUserId() { return 。 } public void setUserId(Long userId) { = userId。 }其他getter和setter方法省略……}:hibernatemapping class name= table=GAZE_USER schema=HDU id name=userId type= column name=USER_ID precision=20 scale=0 / generator class=sequence param name=sequenceGAZE_USER_ID/param /generator /id property name=userName type= column name=USER_NAME length=20 notnull=true unique=true / /property 其他屬性聲明類似,故而省略…… /class/hibernatemapping利用Spring IoC容器創(chuàng)建SessionFactory??梢栽赟pring配置文件中整合所有Hibernate配置參數(shù) 。具體實(shí)現(xiàn)如下::bean id=dataSource class= property name=driverClassName value= /property property name=url value=jdbc:oracle:thin:@localhost:1521:ora92 /property property name=username value=hdu/property property name=password value=hdu/property/beanbean id=sessionFactory class= property name=dataSource ref bean=dataSource / /property property name=h
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1