c语言二值化图像源码,求解决为何不能运行,代码从网上找的

# include <stdio.h># include <stdlib.h># include <string.h># include <malloc.h># include <ctype.h># include <process.h># include <windows.h>#pragma comment(lib,"ws2_32.lib") int bitmapToGray(char *OriginalBMP, char *ResultBMP);int main(){ bitmapToGray("E:\\xljFile\\pictureProcessing\\LONGJIANG.bmp", "E:\\xljFile\\pictureProcessing\\LONGJIANG2.bmp"); return 0;}int bitmapToGray(char *OriginalBMP, char *ResultBMP){ unsigned char *BMP24Image, *BMP8Image; BITMAPFILEHEADER fh; BITMAPINFOHEADER ih; // RGBQUAD Color[256]; // BYTE CTemp[3]; //颜色分量 int Row, Col, nCol; int i, j, k; FILE *f, *p; BMP24Image = (unsigned char*)calloc(2000 * 2000, sizeof(unsigned char)); BMP8Image = (unsigned char*)calloc(1000 * 1000, sizeof(unsigned char)); if ((f = fopen(OriginalBMP, "rb")) == NULL) { printf("open error,please check\n"); return 0; } fread(&fh, sizeof(BITMAPFILEHEADER), 1, f); if (fh.bfType != 'MB') { printf("This is not a BMP picture\n"); return 0; } fh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER); // +sizeof(RGBQUAD)*256; fread(&ih, sizeof(BITMAPINFOHEADER), 1, f); Row = ih.biHeight; Col = ih.biWidth; Col = Col / 4 * 4; // nCol=Col*4/4*4; //扫描宽度 ih.biBitCount = 8; //改变像素位数大小,8位,256色 fread(BMP24Image, sizeof(unsigned char), Row*Col, f); for (i = 0;i<Row;i++) { for (j = 0;j<Col;j++) { if (BMP24Image[i*Col + j]>128) BMP8Image[i*Col + j] = 255; else BMP8Image[i*Col + j] = 100; // for(k=0;k<3;k++) // { // CTemp[k]=BMP24Image[i*nCol+j*3+k]; // } // BMP8Image[i*Col+j]=CTemp[2]*0.299+CTemp[1]*0.587+CTemp[0]*0.114;//转化公式 } } fclose(f); if ((p = fopen(ResultBMP, "wb")) == NULL) { printf("open savefile error\n"); return 0; } // for(i=0;i<256;i++) //调色板 // { // Color[i].rgbBlue=i; // Color[i].rgbGreen=i; // Color[i].rgbRed=i; // Color[i].rgbReserved=0; // } fwrite(&fh, sizeof(BITMAPFILEHEADER), 1, p); fwrite(&ih, sizeof(BITMAPINFOHEADER), 1, p); //fwrite(Color,sizeof(RGBQUAD),256,p); fwrite(BMP8Image, sizeof(unsigned char), Row*Col, p); fclose(p); return 0;}始终提醒无法解析的外部符号_main什么的。。。。
。。。

方法1: 试试用命令行方式编译,强制指定入口。
方法2: 用开发环境自动生成代码框架,然后把其他代码添加进去
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言二值化图像源码,求解决为何不能运行,代码从网上找的
方法1: 试试用命令行方式编译,强制指定入口。方法2: 用开发环境自动生成代码框架,然后把其他代码添加进去

C语言编程 做个图像处理 二值化块化后恢复
图三区域的RGB平均值,分别求R G B 的平均值啊,这要什么代码?

纯C语言实现图像处理?
include <stdio.h> include <stdlib.h> include <conio.h> define ONE 255 define ZERO 0 \/ typedef struct tagBITMAPFILEHEADER { \/\/ bmfh WORD bfType;DWORD bfSize;WORD bfReserved1;WORD bfReserved2;DWORD bfOffBits;} BITMAPFILEHEADER;typedef struct tagBITMAPINFOHEADER{ \/\/ b...

相似回答
大家正在搜