A. 怎么用C来实现算法的可视化
斗胆猜测你的可视化感念,我理解你要的可视化不是2D,3D渲染之类的东西,而是有图形化界面的概念。right?
debug就是算法的可视化, 这是文本形式的可视化
如果图形的话,使用MFC写出Application也能实现可视化
B. c语言,计算机视觉方面,在vc++或c#下完成软件编程。设计一个车牌识别软件。大家可以先说说有什么计划
如果正面拍摄的图片还行,但是如果通过不同角度、环境、模糊度来的话实现貌似太难了。
先要确定有效颜色的范围, 对有效颜色进行获取
然后要收集所有有关 汉字 字母 数字的唯一标识
然后通过算法来判断获取有效颜色点的规律 和 收集的数据的相似度
反正感觉数据量很大
C. c语言 怎么对位进行替换
就是交换两个变量是吧。另设一个中间变量即可实现。
sbit CY=PSW^7;
sbit K= P1^0;
sbit temp;
temp=CY;
CY=K;
K=temp;
这个思想您应该能明白吧。呵呵。
实现循环左移是吧,就是最高位移到最低位,然后顺次左移。
左移指令是把最高位移到C(进位/借位标志)里面,所以需要把这个标志放到最低位,也就是说使最低位和进位标志一样。
设最高位为A,最低位为B,可得最低位应该为 A非*B+A*B
因此不能用一个独立的逻辑运算(与、或、非、异或)实现,按照上面给出的公式即可运算,注意最高位A是在C进位标志中的。
呵呵,这个明白了吗?
D. C语言程序源代码怎么实现其可视化
先回答你的问题,可以使用以下三种方法中的任意一种:
1、使用 C++ Builder。
2、使用VC6,建立MFC工程。
3、使用VS2005,建立Windows应用程序。
另外补充说明:
VB是一种开发工具,不是语言,她使用的是Basic语言,本身语言是没有什么可视化的。VB的V就是Visual,可视化的意思。
同理,C/C++也是一样的。
C++ Builder/VC6/VS2005,都可以直接建立在Windows下运行的应用程序,并且进行可视化的界面设计。
E. 为什么C语言能进行对位(bit)操作 对位操作有什么效果
当然可以对位进行操作。
一般来说,用位运算就是对位操作。位运算包括
^ 异或
| 位或
& 位与
~ 位求反
>> 右移位
<< 左移位
对位操作的好处是快,并且基本上和汇编一一对应,可以直接算出运算时间,计算速度。
很多要表达硬件计算,或者提高运算速度的时候,都会直接用位运算。
比如乘16,位运算就是左移4位等等。
另外一种是位域。
就是定义一种特殊的结构体,里面的成员只有规定的几位。
比如
struct instruction{
unsigned short sr:5;
unsigned short tr:5;
unsigned short op:6;
};
就定义了一个16bit指令的结构,其中
sr : tr : op
1-5 : 6-10 :11-16
然后就可以这样操作
struct instruction mov_r1_r3 = {0x01, 0x03, 0x01};
那么mov_r1_r3实际上等于0x0461
这样编代码一般是为了和硬件接口容易,完全的底层操作
实际代码中极少出现,一般出现于与硬件的接口当中.
F. 怎么用C语言实现
#include <stdio.h>
#include <stdlib.h>
#define Name xzh /*用户名*/
#define Pass xzh /*密码*/
int admin(void); /*管理系统*/
int commodity(void); /*商品系统*/
int main(void)
{
char name[20], pass[20];
int choice;
printf("************************\n");
printf("仓库管理员系统\n");
printf("************************\n");
printf("用户名:");
scanf("%s", name);
fflush(stdin);
printf("密码:");
scanf("%s", pass);
fflush(stdin);
printf("************************\n");
printf("欢迎登陆\n");
printf("************************\n");
printf("1、修改管理员信息\n");
printf("2、修改商品信息\n");
printf("请输入1或2:");
scanf("%d", &choice);
fflush(stdin);
switch(choice)
{
case 1:
admin();
break;
case 2:
commodity();
break;
}
getchar();
return 0;
}
int admin(void)
{
int choice;
printf("************************\n");
printf("0、退出\n");
printf("1、添加管理员\n");
printf("2、删除管理员\n");
printf("3、显示所有管理人\n");
printf("4、返回\n");
printf("************************\n");
printf("请输入0~4:");
scanf("%d", &choice);
fflush(stdin);
return choice;
}
int commodity(void)
{
int choice;
printf("************************\n");
printf("0、退出\n");
printf("1、录入商品信息\n");
printf("2、显示所有商品信息\n");
printf("3、查找商品信息\n");
printf("4、统计商品种类\n");
printf("5、修改商品信息\n");
printf("6、插入商品信息\n");
printf("7、删除商品信息\n");
printf("8、按商品总额排序\n");
printf("9、返回\n");
printf("************************\n");
printf("请输入0~9:");
scanf("%d", &choice);
fflush(stdin);
return choice;
}
ps:大致就是这样了,用户名跟密码的判断没写。
G. 怎么实现c语言窗口的可视化
c还是比较麻烦的 你还是用cpp 的 里面有一个mfc
H. 单片机C语言对位操作
首先
num%10
这个结果可能是0到9
所以
至少要对应4位
否则只能显示结果为0或者1
(0到9的二进制为
0000到1001)
其次
如果要想对某一位操作
可以用位运算
比如
将第m位赋值为0,其它不变
可以
PA_ODR&=~(1<
追问:
谢谢啦,我也是这么想的,结果我用错了,用到逻辑与去了。
评论
0
0
加载更多
I. C++怎么实现打开本机摄像头并获取图像
C语言本身是无法直接控制外设的。但可以通过各种应用编程接口(api),间接调用外部设备。例如opencv库。
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
例程:
#include"cv.h"
#include"highgui.h"
intmain(intargc,char**argv){
cvNamedWindow("win");
CvCapture*capture=cvCreateCameraCapture(0);//创建并获取摄像设备
IplImage*frame;
while(1){
frame=cvQueryFrame(capture);//创建并获取一张摄像截图
if(!frame)break;//如果失败终止循环
cvShowImage("win",frame);//在一个"win"窗口,并当中显示该截图
charc=cvWaitKey(50);
if(c==27)break;
}
cvReleaseCapture(&capture);//释放摄像设备
cvDestroyWindow("win");//释放窗口"win"
return0;
}
J. 远程监控的原理和实现如何用c语言实现
以人工气候室远程监控系统为例2.1通信接口-----套接字的创建本文所要实现的是对一个小型人工气候室的远程监控,在异地或同一个局域网范围内,可以不必亲临现场就可以观测到人工气候室当前的温度状况和运行中的温度曲线,由于在远端只是需要查询和观察,因此只要处理好现场监控计算机和远端客户机之间的通信和数据传输就可以了。这样不用占用现场计算机的CPU处理时间,从而能节省资源以便做更多的处理现场的工作。和远端服务器的连接可以分为以下几个过程:(1) 服务进程总是先于客户进程启动,服务进程首先创造套接字。(2) 将本地地址绑定到所创建的套接字上以使在网络上标识该套接字。 (3) 将套接字置于监听模式并准备接受连接请求。(4) 客户端创建套接字,调用SOCKET函数,方法同上。(5) 客户向服务器提出连接请求。(6) 当请求到来时,被阻塞服务进程的accept()函数如(3)中所述生成一个新的套接字与客户端建立连接,并向客户端返回接收信号。(7) 一旦客户机的套接字收到来自服务器的接收信号,则表示客户机与服务器的连接已就绪,则可以进行数据传输了。(8) 关闭套接字。一旦任务完成,就必须关掉连接已释放套接字占用的资源。创建连接的服务器端和客户端代码简述如下:服务器端:void CServerView::OnStart ()
{ Started=TRUE;
m_Start.EnableWindow(!Started);
try
{ g_sListen.Create(6802,SOCK_DGRAM,NULL);
g_sListen.Bind(6802,m_IP);//,6802为端口号,m_IP为服务器端IP地址
g_sListen.Listen();
((CServerDoc*)GetDocument())->g_pchatListen=new CChatLsnSock(
(CAnyServerDoc*)GetDocument());
CChatLsnSock* g_pchatListen=((CAnyServerDoc*)GetDocument())->g_pchatListen;
g_pchatListen->Create(9999,SOCK_STREAM);//侦听聊天室连接套接字创建
g_pchatListen->Listen();
GetDlgItem(IDC_RESPONSE)->SetWindowText("开始对客户端服务!");
}
服务端开启后的运行界面如图1所示。
客户端:
void CClientView::OnClientStart()
{m_sockRecv.Create(6801,SOCK_DGRAM,m_ClientIP);//6801为端口号,m_ClientIP为客户端IP<br>m_sockRecv.Bind(6801,m_ClientIP);<br>m_timer1=SetTimer(1,1000,NULL);<br>m_timer2=SetTimer(2,250,NULL);<br>GetLocalTime(&SysTime);<br>m_StartTime=SysTime;<br>m_WavePlay.SetStartTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond);//画出曲线初始时间<br>this->m_CurrentSysTime.SetFocus();<br>}
2.2网络中的数据传输与监控实现基于网络的远程控制和测量应用中,一般数据传输采用二进制格式是主丛式,在人工气候室的远程监控系统中,通信双方需要传输的数据流量少,下位机一般是微控制器等嵌入式系统,数据处理能力较慢,通信双方也不必保持紧密联系,因此大多采用UDP协议,基于点对点的方式,双方通信的数据可靠性可以通过定义数据表示格式来保证。另外采用把通过网络传输过来的数据在客户端用曲线的形式重画显示,用了一个本人自做的一个ActiveX控件来显示接收的数据,在数据传输过程中存在的滞后时间很短,可以忽略不计。在设备运行时,服务器端的状态一直保持开启,测温元件把测量到的温度值传入到控制微机,同时通过网络传到远程客户端,远程连接通过输入服务器端的IP地址,输入指定的用户名和密码,就可以连接上,从而就实现了远程监控。建立连接后客户端就可以接收发送过来的温度值且用曲线形式显示出来:void CClientView::OnDataReceive()
{
extern CListBox* pmyListBox;
char szTempRecv[20];
CString szIP(m_IP);//得到服务器端的IP
UINT uPort=6802;//指出端口
int iTempRecv=m_sockRecv.ReceiveFrom(szRecv,10,szIP,uPort,0);
szRecv[iRecv]='\0';
m_szRecv=szTempRecv;
m_listBox.AddString((LPCTSTR)m_szRecv);
int nCount=m_listBox.GetCount();
if (nCount > 0)
m_listBox.SetCurSel(nCount-1);
GetLocalTime(&SystemTime);
m_NowTime=SystemTime;
CString strSysTime;
strSysTime.Format(_T("%d-%d-%d %d:%d:%d"),SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay,SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond);
UpdateData(FALSE);
CurABSTime=(m_NowTime-m_StartTime).GetTotalSeconds();
m_WavePlay.SetPoint2(CurABSTime,atoi(m_szRecv));//用自做ActiveX控件画出温度曲线
完成后通过远程登录看到的运行界面