Znn3bq.jpeg
ÉÇÍ·´óѧº£Ñó¿ÆÑ§½ÓÊܵ÷¼Á
²é¿´: 315  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] ͼÏóÔöÇ¿--ÌݶÈÈñ»¯

ͼÏóÔöÇ¿--ÌݶÈÈñ»¯

1¡¢Î¢·Ö·¨
¡¡¡¡ÔÚͼÏóÖУ¬±ßÔµÊÇÓɻҶȼ¶ºÍÏàÁÚÓòµã²»Í¬µÄÏóËØµã¹¹³ÉµÄ¡£Òò¶ø£¬ÈôÏëÔöÇ¿±ßÔµ£¬¾ÍÓ¦¸ÃÍ»³öÏàÁÚµã¼äµÄ»Ò¶È¼¶µÄ±ä»¯¡£Î¢·ÖÔËËã¿ÉÓÃÀ´ÇóÐźŵı仯ÂÊ£¬Òò¶ø¾ßÓмÓÇ¿¸ßƵ·ÖÁ¿µÄ×÷Óá£Èç¹û½«ÆäÓ¦ÓÃÔÚͼÏóÉÏ£¬¿ÉʹͼÏóµÄÂÖÀªÇåÎú¡£ÓÉÓÚÎÒÃdz£³£ÎÞ·¨ÊÂÏÈÈ·¶¨ÂÖÀªµÄÈ¡Ïò£¬Òò¶øÌôÑ¡ÓÃÓÚÂÖÀªÔöÇ¿µÄ΢·ÖËã×Óʱ£¬±ØÐëÑ¡ÔñÄÇЩ²»¾ß±¸¿Õ¼ä·½ÏòÐԵĺ;ßÓÐÐýת²»±äµÄÏßÐÎ΢·ÖËã×Ó¡£
¡¡¡¡Í¼Ïó´¦ÀíÖÐ×î³£ÓõÄ΢·Ö·½·¨ÊÇÇóÌݶȡ£¶ÔÓÚͼÏóf(x, y), ËüÔڵ㣨x,y£©´¦µÄÌݶÈÊÇÒ»¸öʸÁ¿¡£

¡¡¡¡Î¢·ÖÔËËãÒ»°ãÓòî·ÖÀ´´úÌæ¡£³£ÓõIJî·ÖÐÎʽÓÐÁ½ÖÖ£º

1)¡¡GM(x,y)=|f(x,y)-f(x+1,y)|+|f(x,y)-f(x,y+1)|
2)¡¡GM(x,y)=|f(x,y)-f(x+1,y+1)|+|f(x+1,y)-f(x,y+1)|

¡¡¡¡ÀûÓòî·ÖÔËËãʱ£¬Í¼ÏóµÄ×îºóÒ»ÐкÍ×îºóÒ»ÁеÄÏóËØµÄÌݶÈÎÞ·¨ÇóµÃ£¬Ò»°ãÓÃǰһÐлòǰһÁеÄÌݶÈÖµ½üËÆ´úÌæ¡£

¡¡¡¡Ëã³öÌݶȺóÈÃÌݶÈͼÏóµÄ»Ò¶ÈÖµg(x,y)µÈÓڸõãµÄÌݶȷù¶È£¬¼´g(x,y)=GM(x,y)¡£ÕâÊdz£Óõķ½·¨¡£

¡¡¡¡»¹ÓоÍÊÇ£º
¡¡¡¡1)
¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡2)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LgΪһָ¶¨µÄ»Ò¶ÈÖµ¡£

¡¡¡¡3)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡LbΪһ¶Ô±³¾°Ö¸¶¨µÄ»Ò¶ÈÖµ¡£

¡¡¡¡4)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Lg ºÍ Lb µÄÒâÒåͬÉÏ¡£


2¡¢¾í»ý
¡¡¡¡Ò»°ã¿ÉʹÓÃÈçϸßͨÂ˲¨¾ØÕó£º

0 -1 0
-1 5 -1
0 -1 0
-1 -1 -1
-1 9 -1
-1 -1 -1
1 -2 1
-2 5 -2
1 -2 1
-1 -2 -1
-2 19 -2
-1 -2 -1
-2 1 -2
1 6 1
-2 1 -2

--------------------------------------------------------------------------------

ÏÂÃæÊÇ΢·Ö·¨µÚÒ»ÖÖ·½·¨µÄ³ÌÐò£¬ÊÊÓÃÓÚ»Ò½×ͼÏó¡£


/* Contents
a_gradient Sharpen images with differential method
*/

#include
#include
#include
#include
#include
#include
#include

extern int _cdecl checkrange_(imgdes *);

/* Sharpen images. Returns NO_ERROR,
BAD_RANGE, BAD_FAC, NO_EMM, EMM_ERR, NO_XMM, or XMM_ERR
*/
int _cdcel a_gradient(imgdes * srcimg, imgdes * desimg, int kind_method)
{
int pixel_gray_1, pixel_gray_2, pixel_gray_3, pixel_gray_4, j, k, i, l;
int rcode=NO_ERROR;
int sx, sy, ex, ey;
int gradient;
int kind;
kind = kind_method;
/* Check range of start, end position */
if (checkrange_(srcimg))
return (BAD_RANGE);
if (kind != 1 && kind != 2)
return (BAD_FAC);

sx = srcimg->stx;
sy = srcimg->sty;
ex = srcimg->endx;
ey = srcimg->endy;

copyimgdes (srcimg, desimg);
rcode = copyimage(srcimg, desimg);
if (rcode != NO_ERROR) return (rcode);

for (k= sx; k<= ex-1; k++)
{
for (j=sy; j<= ey-1; j++)
{
gradient = 0;
if (kind ==1) {
pixel_gray_1 = getpixelgray (srcimg, k, j);
pixel_gray_2 = getpixelgray (srcimg, k+1, j);
pixel_gray_3 = getpixelgray (srcimg, k, j);
pixel_gray_4 = getpixelgray (srcimg, k, j+1);
}
else
{
pixel_gray_1 = getpixelgray (srcimg, k, j);
pixel_gray_2 = getpixelgray (srcimg, k+1, j+1);
pixel_gray_3 = getpixelgray (srcimg, k+1, j);
pixel_gray_4 = getpixelgray (srcimg, k, j+1);
}
if (pixel_gray_1 < 0) return (pixel_gray_1);
if (pixel_gray_2 < 0) return (pixel_gray_2);
if (pixel_gray_3 < 0) return (pixel_gray_3);
if (pixel_gray_4 < 0) return (pixel_gray_4);

gradient = (int)(abs(pixel_gray_1 - pixel_gray_2)) +
(int)(abs(pixel_gray_3 - pixel_gray_4));

if (gradient > 255)
gradient = 255;

rcode = setpixelgray(desimg, k, j, (UCHAR)gradient);
if (rcode!=NO_ERROR) return (rcode);
}
}

/* for last column and row */
for (j=sy; j<= ey-1; j++)
{
rcode=getpixelgray(desimg, ex-1, j);
if (rcode!=NO_ERROR) return (rcode);
rcode=setpixelgray(desimg, ex, j, rcode);
if (rcode!=NO_ERROR) return (rcode);
}

for (k=sx; k<=sx-1; k++)
{
rcode = getpixelgray(desimg, k, ey-1);
if (rcode!= NO_ERROR) return (rcode);
rcode = setpixelgray (desimg, k, ey, rcode);
if (rcode != NO_ERROR) return (rcode);
}

rcode = getpixelgray (desimg, ex-1, ey-1);
if (rcode!= NO_ERROR) return (rcode);
rcode = setpixelgray (desimg, ex, ey, rcode);
if (rcode != NO_ERROR) return (rcode);
}

¡¡

¡¡¡¡³ÌÐòÖÐÓòÎÊýKINDÀ´Ñ¡Ôñ½üËÆ¼ÆËãÌݶȵÄÁ½ÖÖ·½·¨¡£

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-10-17 at 09:05 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 297Çóµ÷¼Á +22 ORCHID1 2026-04-10 25/1250 2026-04-13 23:11 by pies112
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ 0855 »úе 286 Çóµ÷¼Á +11 ²»»á³ÔÈâ 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
[¿¼ÑÐ] 293Çóµ÷¼Á +16 ÎÒ°®¸ßÊý¸ßÊý°®Î 2026-04-12 18/900 2026-04-13 21:47 by ѧԱJpLReM
[½Ìʦ֮¼Ò] ת³¤Æ¸ÁË +3 ¼òµ¥»¯xn 2026-04-13 3/150 2026-04-13 14:18 by wwwkkk83
[¿¼ÑÐ] Ò»Ö¾Ô¸085802 323·ÖÇóµ÷¼Á +13 drizzle_9 2026-04-12 14/700 2026-04-13 10:26 by Faiz5552
[¿¼ÑÐ] 266µ÷¼Á +10 daya sun 2026-04-07 11/550 2026-04-13 10:12 by fenglj492
[¿¼ÑÐ] Ò»Ö¾Ô¸Õã´óÉúÎï325·ÖÇóµ÷¼Á +9 zysheng 2026-04-12 9/450 2026-04-12 22:31 by yuyin1233
[¿¼ÑÐ] 339Çóµ÷¼Á +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[¿¼ÑÐ] 070300»¯Ñ§279Çóµ÷¼Á +19 ¹þ¹þ¹þ^_^ 2026-04-08 20/1000 2026-04-11 20:43 by stoner78
[¿¼ÑÐ] 085400 328·Ö Çóµ÷¼Á +10 ιÄãÒ»¸ö´ó³È×Ó 2026-04-09 14/700 2026-04-11 19:53 by lqspecial
[¿¼ÑÐ] 275Çóµ÷¼Á +9 1624447980 2026-04-08 10/500 2026-04-11 10:20 by Delta2012
[¿¼ÑÐ] 346£¬¹¤¿ÆÇóµ÷¼Á +3 moser233 2026-04-09 3/150 2026-04-11 10:04 by zhq0425
[¿¼ÑÐ] 085506-Çóµ÷¼Á-285·Ö +3 À×Å··ÉÌß 2026-04-08 3/150 2026-04-11 08:37 by zhq0425
[¿¼ÑÐ] ¿¼Ñе÷¼Á +26 ˶ÐǸ° 2026-04-09 27/1350 2026-04-10 22:24 by Öí»á·É
[¿¼ÑÐ] ¼ª´ó¼ÆËã»ú¼¼Êõ331·Ö£¬Ó¢ÓïÁù¼¶£¬Çóµ÷¼Á +3 ·å·å021116 2026-04-09 3/150 2026-04-10 20:01 by chemisry
[¿¼ÑÐ] µ÷¼ÁÉêÇë086000Ò»Ö¾Ô¸Î÷±±Å©ÁֿƼ¼´óѧÉúÎïÓëÒ½Ò©320·Ö-±¾¿ÆÆë³¹¤Òµ´óѧ +3 ÃÀÃÀŮʿ 2026-04-09 3/150 2026-04-10 10:31 by liuhuiying09
[¿¼ÑÐ] 085400µç×ÓÐÅÏ¢Àࣨ´¨´ó¿ØÖƹ¤³Ì£©Çóµ÷¼Á¿É¿çרҵ ÇóÀÏʦÁªÏµ +3 626776879 2026-04-08 3/150 2026-04-09 16:05 by Öí»á·É
[¿¼ÑÐ] Çóµ÷¼Á£¬ÏÖÔÚ»¹ÄÜÌîµÄ +3 Éϰ¶Ð¡Ó¨¼ÓÓÍ 2026-04-08 3/150 2026-04-08 14:30 by zhq0425
[¿¼ÑÐ] Èí¹¤Ñ§Ë¶299Çóµ÷¼Á +6 useryy 2026-04-07 6/300 2026-04-07 09:50 by vgtyfty
[¿¼ÑÐ] 333Çóµ÷¼Á +6 ºÏ³ËÑîϰϦ 2026-04-06 6/300 2026-04-07 09:44 by Öí»á·É
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û