²é¿´: 256  |  »Ø¸´: 0

130098300

Òø³æ (ÕýʽдÊÖ)

[ÇóÖú] ·ÖË®ÁëËã·¨ÖмÆËãÊäÈëͼÏñµÄÌݶÈÕâ¶Î´úÂëÊÇʲôÒâ˼

ÏÈÉÏ´úÂ룬´úÂëÊÇÎÒ´ÓÍøÉÏϵÄ,ÓÃMFCдµÄ
void CMyImageDBDoc::GetGradient(BYTE* image, INT width, INT height
, FLOAT* deltar, FLOAT* deltasita)
//µÃµ½ÊäÈëͼÏñµÄÌݶȣ»
{
//ÏÂÃæ¼ÆËã¸÷ÏñËØÔÚˮƽºÍ´¹Ö±·½ÏòÉϵÄÌݶÈ,±ßÔµµãÌݶȼÆÎª0£»
INT* deltaxarr;
INT* deltayarr;
INT grawidth = width;
INT graheight = height;
INT deltacount = grawidth * graheight;
deltaxarr = new INT[deltacount];
deltayarr = new INT[deltacount];

  //Ôݲ»¼ÆËã±ßÔµµã£»
for (INT y=1; y {
for (INT x=1; x {
INT inarrpos = ((y)*width + (x))*3 + 1;//ÔÚÊäÈë¿éÖеÄλÖã»
INT deltaarrpos = y*grawidth + x;//ÔÚÌݶÈÊý×éÖеÄλÖã»
//¾í»ý¼ÆË㣻
deltaxarr[deltaarrpos] = (INT) ( (
image[((y-1)*width + (x+1))*3 + 1] //ÓÒÉÏ
+ image[((y)*width + (x+1))*3 + 1] //ÓÒ
+ image[((y+1)*width + (x+1))*3 + 1] //ÓÒÏÂ
- image[((y-1)*width + (x-1))*3 + 1] //×óÉÏ
- image[((y)*width + (x-1))*3 + 1] //×ó
- image[((y+1)*width + (x-1))*3 + 1] ) / 3 );//×óÏÂ
deltayarr[deltaarrpos] = (INT) ( (
image[((y-1)*width + (x+1))*3 + 1] //ÓÒÉÏ
+ image[((y-1)*width + (x))*3 + 1] //ÉÏ
+ image[((y-1)*width + (x-1))*3 + 1] //×óÉÏ
- image[((y+1)*width + (x-1))*3 + 1] //×óÏÂ
- image[((y+1)*width + (x))*3 + 1] //ÏÂ
- image[((y+1)*width + (x+1))*3 + 1]) / 3 );//ÓÒÏÂ
}
}

//±ßÔµ¸³ÎªÆäÄÚ²àµãµÄÖµ£»
for (y=0; y {
INT x1 = 0;
INT pos1 = y*grawidth + x1;
deltaxarr[pos1] = deltaxarr[pos1+1];
deltayarr[pos1] = deltayarr[pos1+1];
INT x2 = grawidth-1;
INT pos2 = y*grawidth + x2;
deltaxarr[pos2] = deltaxarr[pos2-1];
deltayarr[pos2] = deltayarr[pos2-1];
}
for (INT x=0; x {
INT y1 = 0;
INT pos1 = x;
INT inner = x + grawidth;//ÏÂÒ»ÐУ»
deltaxarr[pos1] = deltaxarr[inner];
deltayarr[pos1] = deltayarr[inner];
INT y2 = graheight-1;
INT pos2 = y2*grawidth + x;
inner = pos2 - grawidth;//ÉÏÒ»ÐУ»
deltaxarr[pos2] = deltaxarr[inner];
deltayarr[pos2] = deltayarr[inner];
}


for (y=0; y {
for (x=0; x {
INT temppos = y*grawidth + x;
if ( (deltaxarr[temppos])==0 )
{
if (deltayarr[temppos]!=0)
{
deltasita[temppos] = 0;//ˮƽ·½Ïò;
deltar[temppos] = (FLOAT) abs(deltayarr[temppos]);
}
else
{
deltasita[temppos] = -1;//ÎÞÈ·¶¨·½Ïò;
deltar[temppos] = (FLOAT) abs(deltayarr[temppos]);
}
continue;
}
deltasita[temppos] = (FLOAT) ( atan(
(FLOAT)deltayarr[temppos]
/ (FLOAT)deltaxarr[temppos] ) + PI/2. );
deltar[temppos] = (FLOAT) sqrt((DOUBLE)
( deltayarr[temppos]*deltayarr[temppos]
+ deltaxarr[temppos]*deltaxarr[temppos] ) );
}
}

delete [] deltaxarr; deltaxarr = NULL; //ɾ³ýˮƽºÍ´¹Ö±ÌݶÈÊý×飻
delete [] deltayarr; deltayarr = NULL;
}
ÎÒÏëÎʵÄÊÇ£¬
INT inarrpos = ((y)*width + (x))*3 + 1;//ÔÚÊäÈë¿éÖеÄλÖã»
Õâ¶Î´úÂëÊÇʲôÒâË¼ÄØ£¬ÎªÊ²Ã´Òª³ËÒÔ3ÔÙ¼Ó1£¬È»ºó»¹ÓÐÏÂÃæÕâÕû¸öÑ­»·É¶Òâ˼£¬ÎÒÒ²²»Ã÷°×£¬Çë¶®µÄÈËÏêϸ¸øÎÒ˵˵Õâ¶Î´úÂë
for (y=0; y {
for (x=0; x {
INT temppos = y*grawidth + x;
if ( (deltaxarr[temppos])==0 )
{
if (deltayarr[temppos]!=0)
{
deltasita[temppos] = 0;//ˮƽ·½Ïò;
deltar[temppos] = (FLOAT) abs(deltayarr[temppos]);
}
else
{
deltasita[temppos] = -1;//ÎÞÈ·¶¨·½Ïò;
deltar[temppos] = (FLOAT) abs(deltayarr[temppos]);
}
continue;
}
deltasita[temppos] = (FLOAT) ( atan(
(FLOAT)deltayarr[temppos]
/ (FLOAT)deltaxarr[temppos] ) + PI/2. );
deltar[temppos] = (FLOAT) sqrt((DOUBLE)
( deltayarr[temppos]*deltayarr[temppos]
+ deltaxarr[temppos]*deltaxarr[temppos] ) );
}
}

[ À´×Ô¿ÆÑмÒ×å ÕÜѧÈËÉú ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

Working for the Lord with all my heart
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÖÇÄÜ»úÆ÷ÈË

Robot (super robot)

ÎÒÃǶ¼°®Ð¡Ä¾³æ

Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ 130098300 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 291 Çóµ÷¼Á +6 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 7/350 2026-03-26 02:14 by BruceLiu320
[¿¼ÑÐ] ×Ü·Ö293Çóµ÷¼Á +4 ¼ÓÒ»Ò»¾Å 2026-03-25 6/300 2026-03-25 22:34 by barlinike
[¿¼ÑÐ] Çóµ÷¼Á +3 QiMing7 2026-03-25 3/150 2026-03-25 21:13 by ¸øÄãÄã×¢ÒâÐÝÏ¢
[¿¼ÑÐ] 26¿¼ÑÐ-291·Ö-ÏÃÃÅ´óѧ£¨085601£©-ÈáÐÔµç×ÓѧԺ²ÄÁϹ¤³ÌרҵÇóµ÷¼Á +3 min3 2026-03-24 4/200 2026-03-25 18:22 by xcjcqu
[¿¼ÑÐ] ¡¾2026¿¼Ñе÷¼Á¡¿ÖÆÒ©¹¤³Ì 284·Ö ÇóÏà¹Ø×¨Òµµ÷¼ÁÃû¶î +4 Ô¬Û¼Û¼ 2026-03-25 8/400 2026-03-25 14:32 by lbsjt
[¿¼ÑÐ] 081700 µ÷¼Á 267·Ö +10 ÃÔÈ˵Ĺþ¹þ 2026-03-23 10/500 2026-03-25 12:12 by userper
[¿¼ÑÐ] Çóµ÷¼Á +5 ÁÖ֮Ϧ 2026-03-24 5/250 2026-03-24 17:16 by dick_runner
[¿¼ÑÐ] Çóµ÷¼Á +6 ÑÐÑУ¬½Óµç»° 2026-03-24 7/350 2026-03-24 17:01 by barlinike
[¿¼ÑÐ] ²ÄÁÏ¿¼Ñе÷¼ÁÉú +3 »ÆÁ»Ò»ÃÎǧÄê 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[¿¼ÑÐ] Ò»Ö¾Ô¸211 ³õÊÔ270·Ö Çóµ÷¼Á +5 ¹ÈÓêÉϰ¶ 2026-03-23 6/300 2026-03-24 16:32 by laoshidan
[¿¼ÑÐ] 321Çóµ÷¼Á +4 Ymlll 2026-03-24 4/200 2026-03-24 14:44 by sprinining
[¿¼²©] 26É격×Ô¼ö +3 whh869393 2026-03-24 3/150 2026-03-24 09:55 by 21018060
[¿¼ÑÐ] 336»¯¹¤µ÷¼Á +4 Íõ´ó̹1 2026-03-23 5/250 2026-03-23 18:32 by allen-yin
[¿¼ÑÐ] 280·ÖÇóµ÷¼Á Ò»Ö¾Ô¸085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 324Çóµ÷¼Á +6 luckyѽѽѽѼ 2026-03-20 6/300 2026-03-22 16:01 by ColorlessPI
[¿¼ÑÐ] Çóµ÷¼Á +3 °×QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[¿¼ÑÐ] Ò»Ö¾Ô¸ËÕÖÝ´óѧ²ÄÁÏÇóµ÷¼Á£¬×Ü·Ö315£¨Ó¢Ò»£© +5 sbdksD 2026-03-19 5/250 2026-03-20 22:10 by luoyongfeng
[¿¼ÑÐ] AÇøÏß²ÄÁÏѧµ÷¼Á +5 ÖÜÖÜÎÞ¼« 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄÏÀí¹¤085701»·¾³302Çóµ÷¼ÁԺУ +3 ¿ûè÷ÎÀ¶Ó 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
[¿¼ÑÐ] ÕÐÊÕµ÷¼Á˶ʿ +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û