用c語言實(shí)現(xiàn)函數(shù)圖像處理 基于c語言的圖像處理

如何用c語言繪函數(shù)圖象

你要什么圖像 sin 還cos 要不我都給你把!

普陀ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

1、#includestdio.h

#includemath.h

void main()

{

double y;

int i,n;

for(y=1;y=0;y-=0.1)

{n=asin(y)*10;

for(i=1;i=n;i++)

printf(" ");

printf("*");

for(;i=31-n;i++)

printf(" ");

printf("*\n");}

for(y=0;y=1;y+=0.1)

{n=asin(y)*10;

for(i=-1;i=31+n;i++)

printf(" ");

printf("*");

for(;i=62-n;i++)

printf(" ");

printf("*\n");}

}

2、#includestdio.h

#includemath.h

void main()

{

double y;

int x,m;

for(y=1;y=-1;y-=0.1)

{m=acos(y)*10;

for(x=1;xm;x++)

printf(" ");

printf("*");

for(;x62-m;x++)

printf(" ");

printf("*\n");}

}

之后在給你個(gè)連個(gè)圖像相交的把

3、#includestdio.h

#includemath.h

void main()

{

double y;

int n,m,i,j,x,yy;

for(yy=0;yy=20;yy++)

{ y=0.1*yy;

m=acos(1-y)*10;

n=asin(1-y)*10;

i=32+asin(y-1)*10;

j=61-asin(y-1)*10;

for(x=0;x62;x++)

{if((x==n)(x==m)) printf("+");

else if((x==n)||(x==i)||(x==j)) printf("+");

else if((x==m)||(x==62-m)) printf("*");

else printf(" ");}

printf("\n");

}

}

C語言中,圖像處理函數(shù)的使用

Tc中用initgraph()函數(shù)可以切換到圖形模式,用closegraph()可以從圖形模式切換回字符模式。

initgraph()和closegraph()都是圖形函數(shù),使用圖形函數(shù)必須包括頭文件"graphics.h"。

void far i nitgraph(int far *graphdriver, int far *graphmode,char far *pathtodriver);

graphdriver是指向圖形驅(qū)動(dòng)序號變量的指針,

graphmode是在graphdriver選定后,指向圖形顯示模式序號變量的指針,

pathtodriver表示存放圖形驅(qū)動(dòng)文件的路徑。

圖形驅(qū)動(dòng)序號不同,圖形驅(qū)動(dòng)文件也不同。序號為VGA圖形驅(qū)動(dòng)對應(yīng)"egavga.bgi"這個(gè)圖形驅(qū)動(dòng)文件。

"egavga.bgi"一般在 Tc目錄下

例如:

-------

#include graphics.h

int Drive,Mode=DETECT;

initgraph(Drive,Mode,""); //圖形顯示器、顯示模式、路徑自動(dòng)檢測

運(yùn)行時(shí)需要在當(dāng)前目錄下存在 EGAVGA.BGI文件

在TC\BGI目錄底下

-------

如果編譯后的.exe文件在另外一個(gè)目錄(如編譯后的.exe文件在D:\MyTc 目錄下,而編譯器的程序和.BGI文件在C:\Turboc\bin 目錄下,則需要填上BGI文件的路徑

例如:

initgraph(Drive,Mode,"C:\\Turboc\\bgi");

C語言編程:怎么讓編寫的程序理解用戶給出的函數(shù)解析式,并繪制出相應(yīng)的函數(shù)圖像?

挺有意思的問題,簡單談一下看法

將你的需求分成兩部分,一是讓程序自行解析用戶輸入的函數(shù)解析式,二是繪制函數(shù)圖像。

首先,關(guān)于第一個(gè)功能,最直接的思路就是字符串解析,按照數(shù)學(xué)知識定義不同的運(yùn)算符號,按照使用習(xí)慣定義常用的變量和常量的符號字母,然后據(jù)此規(guī)則解析輸入的字符串,再根據(jù)解析結(jié)果確定函數(shù)中基本運(yùn)算的次數(shù)及運(yùn)算順序,最后將整個(gè)操作流程以一定形式存儲(chǔ)起來即可。

例如,對于y=log(x^2+x),包含三次基本運(yùn)算,第一步是x^2,第二步是上一步的結(jié)果+x,第三步是上一步的結(jié)果求對數(shù)。注意到log有定義域的限制,這也是要在程序中實(shí)現(xiàn)的。

然后,對于第二個(gè)功能,根據(jù)給定函數(shù)繪制圖像并不難,對于一元和二元函數(shù)來說很容易實(shí)現(xiàn),難點(diǎn)在于多元函數(shù)應(yīng)如何繪制直觀易懂的函數(shù)圖像?不過這一點(diǎn)超出編程語言的范疇了,而且二元函數(shù)可以滿足大部分應(yīng)用場景了。

繪制函數(shù)圖像的程序只需在定義域上按指定的步長求出不同自變量對應(yīng)的函數(shù)值,然后將點(diǎn)連成線,即可繪制出函數(shù)圖像。例如對于logx,定義域?yàn)閤0。假設(shè)步長為0.1,則可求出0.1,0.2,0.3,...,99.9,100.0的函數(shù)值,然后繪制出點(diǎn),再連點(diǎn)成線,即可得到函數(shù)圖像。

另外,這里還有很多細(xì)節(jié)沒有討論,例如輸入數(shù)據(jù)是字符串還是圖像;是否可以用其他方法解析輸入,例如神經(jīng)網(wǎng)絡(luò)。這些就很復(fù)雜了,不再深入。

回答中可能有考慮不周的地方,希望上述內(nèi)容對你有參考意義

c語言圖像處理函數(shù)

是處理2色值問題的程序嗎?

我也有和你一樣的苦衷啊。。。。。。。

呵呵。。

c語言圖像處理

c語言不自帶圖形處理方面的東西。TC特有的頭文件graphics.h,其他編譯環(huán)境都用不了,可移植性是零。而且TC實(shí)在太老,與現(xiàn)在c語言標(biāo)準(zhǔn)差距非常大。基本是無法運(yùn)行現(xiàn)在的代碼。所以不太建議你用它。

非要用純c,可以自己寫函數(shù)調(diào)用Windows?AP和GUI接口。而且需要包含windows.h頭文件。

網(wǎng)上有個(gè)大神用c—free寫的代碼在附件里。

/*

純C通過?Windows?API?編寫的基本?Windows?圖形界面

整理加原創(chuàng),基本上每一句代碼都有注釋

通過?C-Free?3.5編譯

*/

#include?string.h?????????//這個(gè)頭文件在擴(kuò)展名為.c時(shí)是不需要加的

#include?windows.h????????//windows?api必須包含的頭文件

LRESULT?CALLBACK?WndProc(HWND,UINT,WPARAM,LPARAM);??????//窗口函數(shù)的前向聲明

//參數(shù)說明:

//HINSTANCE?hInstance???當(dāng)前實(shí)例句柄

//HINSTANCE?hPrevInstance???以前版本的遺留產(chǎn)物,現(xiàn)在總是置為?NULL

//LPSTR?lpCmdLine???????命令行的產(chǎn)生,可以從開始-獲得程序運(yùn)行的參數(shù),由此傳入

//int?nCmdShow??????程序最初的顯示模式,正常,最大化或最小化

//主函數(shù)的入口是WinMain,?類型為int

//WINAPI標(biāo)志是一種特定的調(diào)用,?它定義了一種生成機(jī)器代碼和放置函數(shù)參數(shù)的方式

int?WINAPI?WinMain(HINSTANCE?hInstance,HINSTANCE?hPrevInstance,LPSTR?lpcmdLine,int?nCmdShow)

{

//TCHAR,?TEXT都是統(tǒng)一單字節(jié)和雙字節(jié)字符的類型,?建議使用

static?TCHAR?szAppName[]?=?TEXT("MyFirstWindows");

static?TCHAR?szClassName[]?=?TEXT("MFWClass");

HWND?hwnd;???????//一定一個(gè)窗口句柄

MSG?msg;????????//定義一個(gè)消息結(jié)構(gòu)體

WNDCLASS?wndclass;??????//定義一個(gè)?WNDCLASS?結(jié)構(gòu)用于注冊窗口

wndclass.style?=?CS_HREDRAW?|?CS_VREDRAW;???????//窗口類的類風(fēng)格,每當(dāng)水平和垂直大小改變時(shí)完全刷新窗口

wndclass.lpfnWndProc?=?WndProc;?????//此窗口類所使用的窗口函數(shù)的入口地址

wndclass.cbClsExtra?=?0;????????//用于在類結(jié)構(gòu)中預(yù)留一些額外的空間

wndclass.cbWndExtra?=?0;????????//用于在windows內(nèi)部保存的窗口結(jié)構(gòu)中預(yù)留一些額外的空間

wndclass.hInstance?=?hInstance;?????//指定所在程序的實(shí)例句柄

wndclass.hIcon?=?LoadIcon(NULL,IDI_APPLICATION);????????//定制圖標(biāo)

wndclass.hCursor?=?LoadCursor(NULL,IDC_ARROW);??????//定制鼠標(biāo)圖形

wndclass.hbrBackground?=?(HBRUSH)GetStockObject(GRAY_BRUSH);????????//定義背景顏色

wndclass.lpszMenuName?=?NULL;???????//指定窗口類的菜單

wndclass.lpszClassName?=szClassName;????????//指定窗口類的類名

//注冊窗口,參數(shù)為指向?WNDCLASS?結(jié)構(gòu)的指針

//如果注冊不成功,則彈出一個(gè)對話框說明情況

//MessageBox是僅有的可以在舊版本和新版本windows都可以運(yùn)行的對話框

if(!RegisterClass(wndclass))

{

MessageBox(NULL,TEXT("This?program?requires?Windows?NT?or?above!"),szAppName,MB_ICONERROR);

return?0;

}

//創(chuàng)建窗口

hwnd?=?CreateWindow(

szClassName,????????//窗口類的名稱

TEXT("Title:My?First?Windows?Program.?這里是標(biāo)題"),?????//窗口標(biāo)題

//WS_OVERLAPPEDWINDOW,???//窗口顯示風(fēng)格,這行實(shí)際是一個(gè)預(yù)定義,相當(dāng)于下面的集合,可以單獨(dú)設(shè)置

WS_OVERLAPPED?|?WS_CAPTION?|?WS_SYSMENU?|?WS_THICKFRAME?|?WS_MINIMIZEBOX?|?WS_MAXIMIZEBOX,

CW_USEDEFAULT,??????//初始?x?方向的位置

CW_USEDEFAULT,??????//初始?y?方向的位置

CW_USEDEFAULT,??????//初始?x?方向的大小

CW_USEDEFAULT,??????//初始?y?方向的大小

NULL,???????//父窗口句柄

NULL,???????//菜單句柄

hInstance,??????//程序?qū)嵗浔?/p>

NULL????);??????//創(chuàng)建參數(shù)

//顯示窗口,第一個(gè)參數(shù)?hwnd?是?CreateWindow?所創(chuàng)建的窗口的句柄

//第二個(gè)參數(shù)?nCmdShow?是主函數(shù)給的,由快捷方式獲得

ShowWindow(hwnd,nCmdShow);

//刷新窗口,給窗口函數(shù),在本程序中即?WndProc?發(fā)送一個(gè)?WM_PAINT

UpdateWindow(hwnd);

//消息循環(huán)

while(GetMessage(msg,NULL,0,0))????????//接受自己創(chuàng)建的所有窗口的所有消息

{

TranslateMessage(msg);?????//將?msg?結(jié)構(gòu)體傳給windows以進(jìn)行一些鍵盤轉(zhuǎn)換,?即將擊鍵消息轉(zhuǎn)換為字符消息

DispatchMessage(msg);??????//再次將?msg?結(jié)構(gòu)體傳給windows,由windows將該消息發(fā)送給適當(dāng)?shù)拇翱诤瘮?shù)

}

return?(int)msg.wParam;

}

//窗口函數(shù)

//參數(shù)說明:

//HWND?hwnd,?接受消息的窗口句柄,由CreateWindow函數(shù)返回

//UINT?message,?消息標(biāo)志符,用以標(biāo)識消息,每個(gè)消息均有一個(gè)唯一對應(yīng)的消息標(biāo)識符

//WPARAM?wParam,?是?WORD?PARAM?的意思,一個(gè)32位的消息參數(shù),其含義和數(shù)值根據(jù)消息的不同而不同

//LPARAM?lParam,?是?LONG?PARAM?的意思,一個(gè)32位的消息參數(shù),其值和消息有關(guān)

//CALLBACK函數(shù)指由程序員定義,編程實(shí)現(xiàn),而由windows系統(tǒng)調(diào)用的函數(shù)

LRESULT?CALLBACK?WndProc(HWND?hwnd,UINT?message,WPARAM?wParam,LPARAM?lParam)

{

HDC?hdc;????????//定義一個(gè)設(shè)備描述表句柄結(jié)構(gòu)體

//定義一個(gè)?PAINTSTRUCT?的繪制信息結(jié)構(gòu)體,

//其包含了包含了當(dāng)前無效矩形區(qū)域的坐標(biāo)和其他信息,用于刷新用戶區(qū)的內(nèi)容

PAINTSTRUCT?ps;

RECT?rect;??????//定義一個(gè)?RECT?結(jié)構(gòu)體,其有l(wèi)eft,top,right,bottom?四個(gè)域

//處理傳進(jìn)的各種消息

switch(message)

{

//窗口創(chuàng)建

case?WM_CREATE:?MessageBox(NULL,"MessageContent?:?This?is?WM_CREATE,這是?WM_CREATE。",

"MessageTiTle?這是對話框的標(biāo)題",MB_OK);

return?0;

//窗口繪制

case?WM_PAINT:??hdc?=?BeginPaint(hwnd,ps);?????//由BeginPaint開始,返回設(shè)備描述表以開始繪圖

GetClientRect(hwnd,rect);??????//獲取用戶區(qū)域的大小

//格式話文本輸出

DrawText(hdc,TEXT("WindowsContent?:?I?am?a?developer.?我為計(jì)算機(jī)而生。"),

-1,rect,DT_SINGLELINE?|?DT_CENTER?|?DT_VCENTER);

EndPaint(hwnd,ps);?????//以EndPaint結(jié)束,釋放設(shè)備描述表句柄

return?0;

//窗口消亡

case?WM_DESTROY:?MessageBox(NULL,"MessageContent?:?This?is?WM_DESTROY,這是?WM_DESTROY。",

"MessageTiTle?這是對話框的標(biāo)題",MB_OK);

PostQuitMessage(0);

return?0;

}

//凡是窗口函數(shù)不予處理的消息應(yīng)交由windows默認(rèn)消息處理函數(shù)DefWindowProc處理

return?DefWindowProc(hwnd,message,wParam,lParam);

}

怎么用c語言畫函數(shù)圖像?

我畫了半個(gè)正弦函數(shù),其余的你可以照著畫,歡迎討論,

#include "stdio.h"

#include "conio.h"

#include "math.h"

#include "graphics.h"

void main()

{

int driver,mode,i;

driver=DETECT;

mode=0;

initgraph(driver,mode,"");

setcolor(15);

for(i=0;i360;i++)

line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));

getch();

restorecrtmode();

}

當(dāng)前題目:用c語言實(shí)現(xiàn)函數(shù)圖像處理 基于c語言的圖像處理
文章路徑:http://m.kartarina.com/article48/hjjdhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)外貿(mào)建站ChatGPT電子商務(wù)關(guān)鍵詞優(yōu)化網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
主站蜘蛛池模板: 亚洲精品无码国产| 亚洲A∨无码一区二区三区| 亚洲中文字幕无码爆乳AV| 日韩AV无码一区二区三区不卡| 五月天无码在线观看| 日韩精品少妇无码受不了| 免费无码午夜福利片| 亚洲av无码无在线观看红杏| 亚洲AV无码XXX麻豆艾秋| 色情无码WWW视频无码区小黄鸭 | 中文字幕丰满伦子无码| av无码国产在线看免费网站| 久久99久久无码毛片一区二区| 亚洲AV无码XXX麻豆艾秋| 久久av无码专区亚洲av桃花岛 | 中文字幕无码免费久久9一区9| 无码人妻丰满熟妇区96| 亚洲成av人片在线观看无码不卡| 国产AV无码专区亚洲AV琪琪 | 国产成人无码精品久久久性色| 无码人妻H动漫中文字幕| 亚洲熟妇无码一区二区三区| 无码免费一区二区三区免费播放| 中文字幕无码日韩专区免费| 国产成人无码区免费A∨视频网站 国产成人无码午夜视频在线观看 国产成人无码精品一区不卡 | 久久av无码专区亚洲av桃花岛 | 未满小14洗澡无码视频网站| 少妇无码太爽了不卡在线观看| yy111111电影院少妇影院无码| 国产精品第一区揄拍无码 | 无套内射在线无码播放| 亚洲va无码va在线va天堂| 亚洲永久无码3D动漫一区| 国产a级理论片无码老男人| 亚洲精品午夜无码电影网| 亚洲日韩中文无码久久| 无码人妻品一区二区三区精99| 无码精品A∨在线观看中文| 无码国产乱人伦偷精品视频 | 久久精品无码专区免费东京热| 日韩精品无码一区二区三区免费 |