有没有什么方法可以在树莓派中设置相机拍摄黑白图像?,比如在 picamera 库中使用一些命令/代码?
由于我需要比较几张不同图像的相对光强度,我担心当物体处于不同光照时,相机会自己进行一些调整,所以即使我稍后将图像转换为黑白图像对象的“真实”黑白图像将丢失。
谢谢
编辑:基本上我需要做的是在相机位置固定时捕获物体的一些图像,但是光源的位置发生了变化(因此照明方向也发生了变化)。然后对于图像上的每个点,我需要比较不同图像的相对光强度。只要所有图像的光强度或“亮度”相对于相同的比例,就可以,但我不确定是否是这种情况。我确定当图像“固有地”更暗或更亮时,相机是否会自动调整诸如对比度之类的东西。
您好,我的鼠标在 openGL 中移动时遇到了一个奇怪的问题。这是我用鼠标移动相机的代码
void camera(int x, int y)
{
GLfloat xoff = x- lastX;
GLfloat yoff = lastY - y; // Reversed since y-coordinates range from bottom to top
lastX = x;
lastY = y;
GLfloat sensitivity = 0.5f;
xoff *= sensitivity;
yoff *= sensitivity;
yaw += xoff; // yaw is x
pitch += yoff; // pitch is y
// Limit up and down camera movement to 90 degrees
if (pitch > 89.0)
pitch = 89.0;
if (pitch < -89.0) …Run Code Online (Sandbox Code Playgroud) 我在 Unity3D 中有一个主摄像头,我想根据鼠标输入进行旋转,因此它可以作为第一人称视频游戏使用,您可以根据要查看的位置移动鼠标。
相机的起始值(Unity Inspector 选项卡中的 Transform 选项卡)是:
我为主摄像头添加了一个脚本组件。它是以下类:
using UnityEngine;
using System.Collections;
public class CameraMove : MonoBehaviour {
float deltaRotation = 50f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetAxis("Mouse X") < 0){
//Code for action on mouse moving …Run Code Online (Sandbox Code Playgroud) 阅读我的全部代码。除了Marshmallow和之外,它在每部手机上都能完美运行Lollipop。In Marshmallowand Lollipopphone Only 问题是只有在Picture Captured 的情况下才会data.getData()返回。如果我捕获视频,它工作正常。我有 4 个案例 -null
从图库中选择图片并在Imageview- 工作正常中显示其缩略图。
从相机捕获图片并在中显示其缩略图Imageview-在和 中不起作用。MarshmallowLollipop
从图库中选择视频并在Imageview- 工作正常中显示其缩略图。
3.Capturing Video from Camera 并在Imageview- Working Fine 中显示其缩略图。
现在有很多解决方案,但它们看起来都不令人满意,如果代码在视频捕获的情况下工作正常,那么为什么它不适用于图像捕获?这是错误还是我在某处做错了?
这是我的代码。我评论了发生崩溃的一行-
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
int THUMBSIZE = 120;
switch (requestCode){
case RESULT_LOAD_IMAGE:
if (resultCode==RESULT_OK){
String column_Name= MediaStore.Images.Media.DATA;
String picturePath=getPath(column_Name,data.getData());
Bitmap …Run Code Online (Sandbox Code Playgroud) 在我的三个 js 设置中,我对定向光进行了以下设置:
private aLight: THREE.DirectionalLight;
this.aLight = new THREE.DirectionalLight(0xffffff, 1.0);
this.aLight.position.set(-5, 5, 5);
this.aScene.add(this.aLight);
Run Code Online (Sandbox Code Playgroud)
为了让光线跟随我的相机并始终照亮我的网格,我在渲染函数中设置了以下内容:private onRender() {
this.aLight.position.copy(this.aCamera.getWorldPosition());
window.requestAnimationFrame(_ => this.onRender());
this.aRenderer.render(this.aScene, this.aCamera);
Run Code Online (Sandbox Code Playgroud)
现在,物体总是被照亮:
但是如果我放大面向相机的表面是暗的:
我想让我的光总是从我的相机指向物体。我究竟做错了什么?
我制作了一个 Android 应用程序,它可以一张一张地拍摄照片、存储它们、向用户提供预览等……所有这些任务都是通过 type 的意图完成的ACTION_IMAGE_CAPTURE。
所以,每次用户想要拍照时,他都应该点击启动意图的“拍照按钮”,等待几秒钟后启动相机,用户就可以拍照了;在照片被拍摄并被用户接受之后,相机关闭并且拍摄的照片通过一个onActivityResult方法返回给调用类(作为预览的位图)。
现在,如果你想做多张照片,这个过程可能真的很乏味。
所以,我想为我的应用程序提供一种模式,允许用户拍摄多张照片,而没有上述所有缓慢的东西。
只是为了澄清,我不想制作连拍模式(在预定义的时间间隔后自动拍摄的照片),但我想让用户能够点击快门拍摄尽可能多的时间而不会被其他人打扰事物。
在网上搜索,我找到了一些信息,在我看来,有三种可能的追求方式:
-意图“INTENT_ACTION_STILL_IMAGE_CAMERA”:这个很容易实现,但相机界面将在很大程度上取决于应用程序在做出意图时调用(例如在我的一加三上,调用完成此任务的应用程序是“Camera FV-5 Lite”,在模拟设备上是另一个)......因此,我认为无法控制被调用应用程序的界面或行为(例如,在通过意图调用的应用程序上可以切换到视频模式,但这在我正在设计的应用程序中应该是不可能的) ;
-使用包“Camera2”(https://developer.android.com/reference/android/hardware/camera2/package-summary.html):谷歌在这里提供了这个包的一些例子https://github.com/search?utf8=%E2%9C% 93&q=android-Camera2&type=但我不完全明白走这条路有多困难;
-自己制作拍照代码:我认为这是最困难的方法。
初学者 - 中级开发人员是否可以按照上述方法之一(或其他方法)完成此任务?
类似问题:
-从 Android 设备拍摄多张照片:这里询问如何加快进程并减少一张照片和另一张照片之间的延迟;
-使用自动生成的 ImageView 制作画廊:这个问题是关于使用通过 ACTION_IMAGE_CAPTURE 不同意图制作的照片动态更新画廊;
-如何在取消相机意图之前拍摄多张照片?:this one讨论了解决方案,意图INTENT_ACTION_STILL_IMAGE_CAMERA与a结合ContentObserver,如上所述,我不想追求;
-拍摄多张照片时出现的问题:应用停止响应,相机预览变为绿色且未保存图片:讨论拍摄多张照片时出现的问题的旧帖子,但一个答案很有趣,因为提到了 Camera2。
我想减小相机 API 拍摄的图像的大小,但质量降低并不好。最好的办法是降低分辨率,但我不想为所有图像使用目标宽度和高度。
例如,我希望图像宽度为 1280 并且图像高度按比例自动更改,但在 API 中我应该使用精确的宽度和高度。
如何通过图像比例更改高度动态???
现在,我使用以下代码:
this.camera.getPicture({
quality: 60,
destinationType: this.camera.DestinationType.FILE_URI,
sourceType: sourceType,
mediaType: this.camera.MediaType.PICTURE,
targetWidth: 1280,
targetHeight: 1280,
encodingType: this.camera.EncodingType.JPEG,
saveToPhotoAlbum: (source === PictureSource.CAMERA),
allowEdit: true
})
Run Code Online (Sandbox Code Playgroud) 有谁知道如何启用 React-native-camera 人脸检测功能?
我遵循了https://github.com/react-native-community/react-native-camera上的指南,例如导入和更改 package.json 上的行,但仍然没有看到我的相机发生任何事情在一张脸面前
我有一些代码可以将透视相机转换为正交相机。问题是当我进行转换时,模型变得非常小而且很难看。
我已经根据距离和 FOV 计算了正交相机的缩放系数。我是否需要在正交相机上设置任何其他属性(例如剪切平面等)?
我相信立场保持不变。我不确定我还需要计算什么。
fieldOfView = viewInfo.fov;
var getCameraPosition = function() {
return viewer._viewport._implementation.getCamera()._nativeCamera.position;
};
// Calculate the delta position between the camera and the object
var getPositionDelta = function(position1, position2) {
return {
x: position1.x - position2.x,
y: position1.y - position2.y,
z: position1.z - position2.z
}
};
var getDistance = function(positionDelta, cameraDirection) {
return dot(positionDelta, cameraDirection);
};
distance = getDistance(positionDelta, cameraDirection),
var depth = distance;
var viewportWidth = view.getDomRef().getBoundingClientRect().width;
var viewportHeight = view.getDomRef().getBoundingClientRect().height;
var aspect = viewportWidth / …Run Code Online (Sandbox Code Playgroud) 如果您使用 LibGdx,它很快就会来到相机和视口。如果您第一次使用相机和视口工作,您会遇到一些关于它如何工作以及如何使用它的问题。所以:
camera ×10
android ×2
java ×2
javascript ×2
three.js ×2
c# ×1
c++ ×1
glulookat ×1
ionic3 ×1
jsx ×1
libgdx ×1
mouse ×1
mousemove ×1
opengl ×1
orthographic ×1
perspective ×1
photo ×1
python ×1
raspberry-pi ×1
react-native ×1
resize ×1
rotation ×1
viewport ×1