重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言摄像头拍照函数 摄像头怎么用c语言获取视频

用c语言编程实现,别出心裁的情侣拍照

另一种简单的思路:

创新互联专注于企业全网整合营销推广、网站重做改版、永顺网站定制设计、自适应品牌网站建设、H5页面制作商城网站定制开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为永顺等各大城市提供网站开发制作服务。

将情侣的空间位置要求转换为

101 1001 10001 100001四个数各自左移,然后或运算得到11111111的要求。

#include stdio.h

#define LOVERS_PAIR_1    (0b101)

#define LOVERS_PAIR_2    (0b1001)

#define LOVERS_PAIR_3    (0b10001)

#define LOVERS_PAIR_4    (0b100001)

#define LOVERS_PAIR_TARGET   (0b11111111)

int main()

{

int x=0, y=0, z=0, t=0;

unsigned char result=0;

char order[8+1]={'\0'};

printf("符合:情侣Aa中间隔一个人,情侣Bb中间隔两个人,情侣Cc中间隔三个人,情侣Dd中间隔四个人的情况:\n");

for(x=0,result=0; x6; x++)//x表示情侣Aa组合从右到左需空出的位置

{

result = LOVERS_PAIR_1x;

for(y=0; y5; y++)//y表示情侣Bb组合从右到左需空出的雹大位置

{

if (result(LOVERS_PAIR_2y))

continue;

result = result|(LOVERS_PAIR_2y);

for (z=0; z4; z++)//z表示情侣Cc组合从右到左需空出的位置

{

if (result(LOVERS_PAIR_3z))

continue;

result = result|(LOVERS_PAIR_3z);

for(t=0; t3; t++)//t表示情侣Dd组合从右到左需空出的位置

{

if (result(LOVERS_PAIR_4t))

continue;

result = result|(LOVERS_PAIR_4t);

穗肆脊      if (LOVERS_PAIR_TARGET==result)//找到了!转换后打印

{

order[8-x-1]='a';

order[8-(x+2)-1]='A';

order[8-y-1]='b';

order[8-(y+3)-1]='B';

猜渗                       order[8-z-1]='c';

order[8-(z+4)-1]='C';

order[8-t-1]='d';

order[8-(t+5)-1]='D';

order[8]='\0';

printf("%s\n", order);

}

}

}

}

}

}

程序输出:

符合:情侣Aa中间隔一个人,情侣Bb中间隔两个人,情侣Cc中间隔三个人,情侣Dd中间隔四个人的情况:

DACaBdcb

能拆一对是一对啊 -.-!

C语言高手来!!!功能:获取摄像头拍下的一张相片保存下来(一定要是C语言写的)在这先谢谢啦

用文件操作的二进制写入方法把照片数据写入数据文件,

或直接保存到MYSQL数据库

用c语言怎么实现android手机调用摄像头

android 中实现网页调用摄像头功能方法·如下:

1/apk/res/android"

xmlns:tools="schemas/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".CameraWebviewActivity"

Button

android:id="@+id/bt"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Camera"

android:layout_alignParentTop="世搜true"

/液模

WebView

android:id="@+id/wv"

android:layout_width="fill_parent"

android:layout_height="match_parent"

android:layout_below="@+id/bt"

/搜埋历

/RelativeLayout

4.、编写activity:

public class CameraWebviewActivity extends Activity {

private final static String TAG = "CameraWebviewActivity";

private Button bt;

private WebView wv;

public String fileFullName;//照相后的照片的全整路径

private boolean fromTakePhoto; //是否是从摄像界面返回的webview

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_camera_webview);

initViews();

}

private void initViews() {

bt = (Button) findViewById(R.id.bt);

bt.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

System.out.println("----------------");

takePhoto( Math.random()*1000+1 + ".jpg");

}

});

wv = (WebView) findViewById(R.id.wv);

WebSettings setting = wv.getSettings();

setting.setJavaScriptEnabled(true);

wv.setWebViewClient(new WebViewClient(){

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

super.onPageStarted(view, url, favicon);

}

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

return super.shouldOverrideUrlLoading(view, url);

}

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

}

});

wv.setWebChromeClient(new WebChromeClient(){

@Override//实现js中的alert弹窗在Activity中显示

public boolean onJsAlert(WebView view, String url, String message, JsResult result) {

Log.d(TAG, message);

result.confirm();

return true;

}

});

wv.loadUrl("");

final Handler mHandler = new Handler();

//webview增加javascript接口,监听html页面中的js点击事件

wv.addJavascriptInterface(new Object(){

public String clickOnAndroid() {//将被js调用

mHandler.post(new Runnable() {

public void run() {

fromTakePhoto = true;

//调用 启用摄像头的自定义方法

takePhoto("testimg" + Math.random()*1000+1 + ".jpg");

System.out.println("========fileFullName: " + fileFullName);

}

});

return fileFullName;

}

}, "demo");

}

/*

* 调用摄像头的方法

*/

public void takePhoto(String filename) {

System.out.println("----start to take photo2 ----");

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

intent.putExtra(MediaStore.EXTRA_MEDIA_TITLE, "TakePhoto");

//判断是否有SD卡

String sdDir = null;

boolean isSDcardExist = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);

if(isSDcardExist) {

sdDir = Environment.getExternalStorageDirectory().getAbsolutePath();

} else {

sdDir = Environment.getRootDirectory().getAbsolutePath();

}

//确定相片保存路径

String targetDir = sdDir + "/" + "webview_camera";

File file = new File(targetDir);

if (!file.exists()) {

file.mkdirs();

}

fileFullName = targetDir + "/" + filename;

System.out.println("----taking photo fileFullName: " + fileFullName);

//初始化并调用摄像头

intent.putExtra(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileFullName)));

startActivityForResult(intent, 1);

}

/*

* (non-Javadoc)

* @see android.app.Activity#onActivityResult(int, int, android.content.Intent)

* 重写些方法,判断是否从摄像Activity返回的webview activity

*/

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

System.out.println("----requestCode: " + requestCode + "; resultCode " + resultCode + "; fileFullName: " + fileFullName);

if (fromTakePhoto requestCode ==1 resultCode ==-1) {

wv.loadUrl("javascript:wave2('" + fileFullName + "')");

} else {

wv.loadUrl("javascript:wave2('Please take your photo')");

}

fromTakePhoto = false;

super.onActivityResult(requestCode, resultCode, data);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.camera_webview, menu);

return true;

}

}

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"

int main(int argc, char** argv) {

cvNamedWindow("win");

CvCapture* capture = cvCreateCameraCapture(0);    //创建并获取摄像设备

IplImage* frame;

while(1) {

frame = cvQueryFrame(capture);    //创建并获取一张摄像截图掘握顷

if(!frame) break;        //如果失败终止循环

cvShowImage("win", frame);    //在一个"win"窗口,并当中显示该截图

char c = cvWaitKey(50);

if(c==27) break;

}

cvReleaseCapture(capture);      皮尺  //释放摄像设备

cvDestroyWindow("win");        //释放窗口"win"

return 0;

}


文章标题:c语言摄像头拍照函数 摄像头怎么用c语言获取视频
文章网址:http://cqcxhl.com/article/ddpjoph.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP