[問題] 關於C程式處理影像裁切問題
想請問
我現在有一張 275*400 大小的彩色影像
我想要用一個 33*33 大小的罩窗
於影像上任意位置裁切下33*33的彩色影像大小
以下的程式碼有錯
能幫我改一改嗎
------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
int main()
{
unsigned char *image;
unsigned char *picture;
FILE *fp,*fc;
int width=275;
int height=400;
int x=0;//選取點位之X座標
int y=0;//選取點位之Y座標
int i;//行數
int n;//列數
printf("請輸入欲裁減位置X:\n");
scanf("%d,&x");
printf("請輸入欲裁減位置y:\n");
scanf("%d,&y");
image=new unsigned char[width*height*3];
picture=new unsigned char[(width)*(height)*3];
fp=fopen("nan.raw","rb");
fread(image,sizeof(unsigned char),width*height*3,fp);
for(n=y+1;n<33;n++)
{
for(i=x+1;i<33;i++)
{
picture[33*n+i]=image[275*(y-1)+(x-1)+275*n+i];
}
}
fc=fopen("1.raw","wb");
fwrite(picture,sizeof(unsigned char),(33)*(33)*3,fc);
printf("press any key to continue!!");
fclose(fp);
fclose(fc);
return 0;
}
----------------------------------------------------------------------------
其中 fwrite(picture,sizeof(unsigned char),(33)*(33)*3,fc);
這行的33*33*3會產生問題
想請大家幫忙了
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.103.122
推
06/10 02:44, , 1F
06/10 02:44, 1F
推
06/10 05:11, , 2F
06/10 05:11, 2F
→
06/10 09:00, , 3F
06/10 09:00, 3F
推
06/10 09:24, , 4F
06/10 09:24, 4F
→
06/10 09:25, , 5F
06/10 09:25, 5F
→
06/10 09:26, , 6F
06/10 09:26, 6F
推
06/10 09:29, , 7F
06/10 09:29, 7F
推
06/10 09:34, , 8F
06/10 09:34, 8F
→
06/10 09:35, , 9F
06/10 09:35, 9F
→
06/10 09:36, , 10F
06/10 09:36, 10F
→
06/10 09:37, , 11F
06/10 09:37, 11F
→
06/10 09:38, , 12F
06/10 09:38, 12F
→
06/10 12:18, , 13F
06/10 12:18, 13F
→
06/10 12:19, , 14F
06/10 12:19, 14F
推
06/10 12:30, , 15F
06/10 12:30, 15F
→
06/10 12:30, , 16F
06/10 12:30, 16F
→
06/10 12:32, , 17F
06/10 12:32, 17F
→
06/10 12:32, , 18F
06/10 12:32, 18F
→
06/10 12:33, , 19F
06/10 12:33, 19F
→
06/10 12:34, , 20F
06/10 12:34, 20F
→
06/10 12:34, , 21F
06/10 12:34, 21F
→
06/10 12:35, , 22F
06/10 12:35, 22F
推
06/10 12:50, , 23F
06/10 12:50, 23F
→
06/10 12:51, , 24F
06/10 12:51, 24F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章