c語言處理圖像
看工具是什麼。甚至具體需求是什麼。
GDI/DX/OPENGL都可以在像素RGB值上直接處理。
等於做離屏渲染。
也可以利用游戲引擎現有的工具庫直接實現這些逗比效果。
『貳』 請教C語言處理圖像的問題
#include <Bitmap.h>//引用處理圖片的頭文件
FILE *hFile = NULL;//文件指針
int LoadBitmapFile ( char *fileName, BITMAP_IMAGE_PTR bitmap )
{
int hImageFile = 0; //文件讀取成功的標識
unsigned char *workingBuffer = 0; //保存讀取的圖片
hImageFile = _open ( fileName, _O_RDONLY ); //以只讀方式打開圖片文件,成功返回1,失敗返回-1
if ( hImageFile==-1 )//如果打開失敗,則輸出警告
{
WriteLogFile ( "LoadBitmapFile function error! \nCan not open the bitmap.\n" );
return 0;
}
這只是最基本的打開圖片文件,跟打開普通文件沒什麼區別,後面要對圖片進行處理的話沒有圖形學的知識會很困難,如果想進一步研究,建議學習一下計算機圖形學
『叄』 純C語言實現圖像處理
這個不難吧?雖然我不用c,可是說下怎麼做,首先打開一個BMP文件,然後按照bmp格式解析到一個數組中,接著進行二值化(這個有很多方法),最後將數組中的數據寫入一個新的BMP文件就可以了。
『肆』 在圖像處理中c語言哪部分比較重要
C語言比只是一門工具,圖像處理演算法比較重要。C語言你只要明白指針還有各種地址推算就好了,其他都是浮雲。圖像處理也大部分都是指針操作,比如載入點陣圖、對圖像進行卷積等等,都是拿到圖像的內存塊起始地址的指針,然後再到具體的圖像某個像素點在內存上的位置,做運算的。
『伍』 c語言處理圖像文件
opencv做圖像處理比較專業,用純C語言的話處理bmp圖像比較方便,因為信息是直接按位元組存儲的,其他格式因為有壓縮的問題,比較麻煩,我以前寫過一個處理bmp的程序,如果你要的話可以網路hi聯系我,或者留下郵箱發給你。
『陸』 C語言圖像處理問題
#include "graphics.h"//供使用像素函數,直線和線型函數,多邊形函數,圓、弧和曲線函數
void main(){
int gdriver,gmode;
gdriver=VGA;
gmode=VGAHI;//指向圖形顯示模式序號變數的指針,640x480 16 color 1 page ,VGAHI=2;
initgraph(&gdriver,&gmode,"");//初始化圖形系統 //第一個參數指向圖形驅動序號變數的指針,VGA=9; //指向圖形顯示模式序號變數的指針,VGAHI=2表示640x480 16color1page //第三個存放圖形驅動文件的路徑為空
bar3d(100,100,300,250,50,1);//畫一個三維條形圖 用法: void far bar3d(int left, int top, int right, int bottom,
int depth, int topflag);
getch();//會等待你按下任意鍵,再繼續執行下面的語句
closegraph();// 關閉圖形系統}
『柒』 C語言中,圖像處理函數的使用
Tc中用initgraph()函數可以切換到圖形模式,用closegraph()可以從圖形模式切換回字元模式。
initgraph()和closegraph()都是圖形函數,使用圖形函數必須包括頭文件"graphics.h"。
void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);
graphdriver是指向圖形驅動序號變數的指針,
graphmode是在graphdriver選定後,指向圖形顯示模式序號變數的指針,
pathtodriver表示存放圖形驅動文件的路徑。
圖形驅動序號不同,圖形驅動文件也不同。序號為VGA圖形驅動對應"egavga.bgi"這個圖形驅動文件。
"egavga.bgi"一般在 Tc目錄下
例如:
-------
#include <graphics.h>
int Drive,Mode=DETECT;
initgraph(&Drive,&Mode,""); //圖形顯示器、顯示模式、路徑自動檢測
運行時需要在當前目錄下存在 EGAVGA.BGI文件
在TC\BGI目錄底下
-------
如果編譯後的.exe文件在另外一個目錄(如編譯後的.exe文件在D:\MyTc 目錄下,而編譯器的程序和.BGI文件在C:\Turboc\bin 目錄下,則需要填上BGI文件的路徑
例如:
initgraph(&Drive,&Mode,"C:\\Turboc\\bgi");