½ÌѧÎÄ¿âÍø - ȨÍþÎĵµ·ÖÏíÔÆÆ½Ì¨
ÄúµÄµ±Ç°Î»ÖãºÊ×Ò³ > ÎÄ¿â´óÈ« > ×ʸñ¿¼ÊÔ >

ʵÑé4 ͼÏñ¼¸ºÎ±ä»»¡ª¹þ¹þ¾µÖÆ×÷(2)

À´Ô´£ºÍøÂçÊÕ¼¯ ʱ¼ä£º2026-03-01
µ¼¶Á£º tmp = RANGE*sin(i*PI/pImg1-height+PI)+RANGE; for(j=tmp;jpImg1-width-tmp;j++) { vc++ʵÏÖͼÏñ·Å´ó¡¢ËõÐ ¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ for(int k=0;kpImg-nChannels;k++) { pImg1-imageData[i*pImg1-widthStep+j

tmp = RANGE*sin(i*PI/pImg1->height+PI)+RANGE; for(j=tmp;j<pImg1->width-tmp;j++) {

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

for(int k=0;k<pImg->nChannels;k++) {

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[i*pImg->widthStep+s*pImg->nChannels+k];

} break;

}

}

// ÌÝÐαäÐÎ case LADDER:

pImg1 = cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels); for(i=0;i<pImg1->height;i++) {

tmp=(pImg1->width-RANGE)/2-i*(pImg1->width-RANGE)/(2*pImg1->height); for(j=tmp;j<pImg1->width-tmp;j++) {

int s=(int)((j-tmp)*(pImg->width)/(pImg->width-2*tmp)); for(int k=0;k<pImg->nChannels;k++) {

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[i*pImg->widthStep+s*pImg->nChannels+k];

} break;

}

}

// Èý½ÇÐαäÐÎ case TRIANGLE:

pImg1 = cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels); for(i=1;i<pImg1->height;i++) {

for(j=1;j<i*pImg1->width/pImg1->height;j++) {

int s = (int)(pImg1->height*j/i); for(int k=0;k<pImg->nChannels;k++) {

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[i*pImg->widthStep+s*pImg->nChannels+k];

}

}

}

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

// SÐαäÐÎ case SSHAPE:

pImg1 = cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels); for(i=0;i<pImg->height;i++) {

tmp = RANGE*sin(2*i*PI/pImg1->height+PI)+RANGE; for(j=tmp;j<pImg->width-(2*RANGE-tmp);j++) {

int s=(int)((j-tmp)*(pImg->width)/(pImg->width-RANGE*2)); for(int k=0;k<pImg->nChannels;k++) {

pImg1->imageData[i*pImg1->widthStep+j*pImg1->nChannels+k]=pImg->imageData[i*pImg->widthStep+s*pImg->nChannels+k];

} break;

}

}

//²¨ÀËÐÎ

case UNDAFORM:

pImg1 = cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels); for(i=0;i<pImg->height;i++) {

for(j=0;j<pImg->width;j++) {

int s=(int)((4*i+pImg->height+pImg->height*sin(j*2*PI/pImg->width))/6); for(int k=0;k<pImg->nChannels;k++) {

pImg1->imageData[s*pImg1->widthStep+j*pImg1->nChannels+k]=pImg->imageData[i*pImg->widthStep+j*pImg->nChannels+k];

//ͼƬÐýת case ROTATE:

width_rotate=int(pImg->height*fabs(sin (-angle * CV_PI / 180.))+pImg->width*fabs(cos height_rotate=int(pImg->width*fabs(sin (-angle * CV_PI / 180.))+pImg->height*fabs(cos pImg1 = cvCreateImage(cvSize(width_rotate,height_rotate),pImg->depth,pImg->nChannels);

} break;

}

}

(-angle * CV_PI / 180.))); (-angle * CV_PI / 180.)));

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

m[1] = (float)sin (-angle * CV_PI / 180.); m[3] = -m[1]; m[4] = m[0];

// ½«ÐýתÖÐÐÄÒÆÖÁͼÏñÖмä m[2] = pImg->width * 0.5f; m[5] = pImg->height * 0.5f;

cvGetQuadrangleSubPix (pImg, pImg1, &M);

break;

//Í¼Æ¬Æ½ÒÆ

case TRANSLATION: {

for(i=0;i<pImg1->height-x;i++) {

for(j=0;j<pImg1->width-y;j++) {

for(int k=0;k<pImg1->nChannels;k++) {

pImg1 = cvCreateImage(cvGetSize(pImg),pImg->depth,pImg->nChannels); printf("ÊäÈëx,y£º\n"); scanf("%d,%d",&x,&y);

if(x>=0&&y>=0)

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[(i+x)*pImg->wi

}

else if(x<0&&y>=0) {

for(i=-x;i<pImg1->height;i++) {

for(j=0;j<pImg1->width-y;j++) {

for(int k=0;k<pImg1->nChannels;k++) {

}

}

}

dthStep+(j+y)*pImg->nChannels+k];

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[(i+x)*pImg->wi

}

}

}

dthStep+(j+y)*pImg->nChannels+k];

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

else if(x>=0&&y<0) {

for(i=0;i<pImg1->height-x;i++) {

for(j=-y;j<pImg1->width;j++) {

for(int k=0;k<pImg1->nChannels;k++) {

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[(i+x)*pImg->wi

} else {

for(i=-x;i<pImg1->height;i++) {

for(j=-y;j<pImg1->width;j++) {

for(int k=0;k<pImg1->nChannels;k++) {

}

}

}

dthStep+(j+y)*pImg->nChannels+k];

pImg1->imageData[i*pImg1->widthStep+j*pImg->nChannels+k]=pImg->imageData[(i+x)*pImg->wi }

}

break;

printf("no method support\n"); break; default:

}

}

}

dthStep+(j+y)*pImg->nChannels+k];

// ÏÔʾ½á¹û

cvNamedWindow( "Image1", 1);//´´½¨´°¿Ú cvShowImage( "Image1", pImg1 );//ÏÔʾͼÏñ cvWaitKey(0); //µÈ´ý°´¼ü

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

//Ïú»Ù´°¿Ú ÊÍ·ÅÄÚ´æ

cvDestroyWindow( "Image" );//Ïú»Ù´°¿Ú cvReleaseImage( &pImg ); //ÊÍ·ÅͼÏñ cvDestroyWindow( "Image1" );//Ïú»Ù´°¿Ú cvReleaseImage( &pImg1 ); //ÊÍ·ÅͼÏñ

return 0; } ԭͼ£º

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

ËõС£º

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

·Å´ó£º

Ì«´óÁË £¬²»ÄܽØÍ¼ ÄÚ°¼£º

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

Íâ͹£º

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

ÌÝÐΣº

vc++ʵÏÖͼÏñ·Å´ó¡¢ËõС¡¢Æ½ÒÆ¡¢Ðýת¡¢¸÷ÖÖ¹þ¹þ¾µ±äÐÎ

¡­¡­ ´Ë´¦Òþ²Ø£º2123×Ö£¬È«²¿ÎĵµÄÚÈÝÇëÏÂÔØºó²é¿´¡£Ï²»¶¾ÍÏÂÔØ°É ¡­¡­
ʵÑé4 ͼÏñ¼¸ºÎ±ä»»¡ª¹þ¹þ¾µÖÆ×÷(2).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.jiaowen.net/wenku/96677.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©

Ïà¹ØÍÆ¼ö£º

Copyright © 2020-2025 ½ÌÎÄÍø °æÈ¨ËùÓÐ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£º78024566 ÓÊÏ䣺78024566@qq.com
ËÕICP±¸19068818ºÅ-2
Top
¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄܳöÏÖÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµ¿Í·þЭÖúÄú´¦Àí¡£
¡Á ³£¼ûÎÊÌ⣨¿Í·þʱ¼ä£ºÖÜÒ»µ½ÖÜÎå 9:30-18:00£©