当前位置: 首页 > wzjs >正文

简述网站设计规划的步骤厦门seo百度快照优化

简述网站设计规划的步骤,厦门seo百度快照优化,手机网站打开微信支付功能,网址大全查询网站光度立体三维重建——光源标定 一、光源标定问题二、Matlab代码三、实验效果 一、光源标定问题 光源的标定是指 放置标定物等辅助物体估计光源的信息,包括光源的方向和强度等,光源信息的准确性极大影响重建的效果。光度立体的前提假设入射光为平行光&am…

光度立体三维重建——光源标定

  • 一、光源标定问题
  • 二、Matlab代码
  • 三、实验效果

一、光源标定问题

光源的标定是指 放置标定物等辅助物体估计光源的信息,包括光源的方向和强度等,光源信息的准确性极大影响重建的效果。光度立体的前提假设入射光为平行光,现实往往难以制造大面积平行光,所以通常的做法是点光源与物体的距离十倍于物体最大宽度时所发出的光可近似看成平行光。

Pentland最早提出计算光源方向,指出光源标定的线索更多地包含在图像的亮度梯度而不是图像的绝对亮度中。传统的标定中一般利用高光黑球来做标定物,通过点光源在黑球反射的高光信息与黑球的几何关系,求解光源方向。如图光源标定示意图,光源方向是 LN 是球体的表面 法 向 量 ,视 角 方 向 为 V[0,0,1],则 其 关 系 为 L = 2(N∙V)N - VV 已知,只要知道 N 即可求出 L,N 则可以通过高光黑球的已知半径 R 和光源照射在其表面的几何关系确定,r 可以通过图像处理的方法求得,z 可通过 rR 求得。
光源标定示意图

光源标定的目的 是为了确定光源方向或强度,一般利用物体表面的明暗信息、阴影信息或者反射特性三类信息中的其中一种即可,也可以将三种信息结合。采用不同标定物,是利用不同标定物的反射特性获取更加精确的光源信息。光源标定方法分类总结如下图:
在这里插入图片描述

二、Matlab代码

close all;
% 定义目录和光源数量
directory = 'F:\......\data\4-901\';
numLights = 4; % 假设有 4 个光源% 调用校准函数
L = CalibrateLights(directory, numLights);function [L] = CalibrateLights(directory, numLights)% 检查目录路径是否以斜杠结尾,如果没有则添加斜杠。if directory(end) ~= '/' && directory(end) ~= '\'directory = [directory '/']; % 添加斜杠(支持 UNIX 和 Windows 风格路径)end% 初始化变量fileName = directory; % 初始化 fileName 为目录路径maskFileName = [fileName 'mask.bmp']; % 指定掩码文件的名称(修正了拼写错误)% 读取掩码图像trycircle = imread(maskFileName); % 读取掩码图像catch MEerror('无法读取掩码文件 %s,错误信息:%s', maskFileName, ME.message);end% 计算铬球的中心点maxval = max(circle(:)); % 找到图像中的最大值[circleRow, circleCol] = find(circle == maxval); % 找到最大值的所有坐标maxRow = max(circleRow); % 找到最大行坐标中的最大值minRow = min(circleRow); % 找到最小行坐标中的最小值maxCol = max(circleCol); % 找到最大列坐标中的最大值minCol = min(circleCol); % 找到最小列坐标中的最小值xc = double((maxCol + minCol)/2); % 计算列坐标的中心yc = double((maxRow + minRow)/2); % 计算行坐标的中心center = [xc, yc]; % 存储中心点坐标radius = double((maxRow - minRow)/2); % 计算半径(假设铬球是圆形的)% R: 反射方向,这里假设为垂直向上的方向。R = [1.0 1.0 1.0]; % 通常反射方向应为单位向量,例如 [0 0 1]% 初始化光源方向数组L = zeros(numLights, 3);% 计算光源方向for i = 1:numLightsimgFileName = [fileName num2str(i-1) '.bmp']; % 根据索引构造图像文件名tryimage = imread(imgFileName); % 读取图像catch MEerror('无法读取图像文件 %s,错误信息:%s', imgFileName, ME.message);endmaxval = max(image(:)); % 找到图像中的最大值[pointRow, pointCol] = find(image == maxval); % 找到最大值的所有坐标nSize = size(pointRow, 1); % 计算最大值的数量px = sum(pointCol)/double(nSize); % 计算列坐标的平均值py = sum(pointRow)/double(nSize); % 计算行坐标的平均值Nx = px - xc; % 计算x方向上的差值Ny = -(py - yc); % 计算y方向上的差值(注意这里的负号)Nz = sqrt(radius^2 - Nx^2 - Ny^2); % 根据半径和Nx, Ny计算Nzif isnan(Nz) || Nz < 0error('计算出的Nz为负数或NaN,请检查输入数据。');endnormal = [Nx, Ny, Nz]; % 计算法向量normal = normal / norm(normal); % 归一化法向量NR = normal(1)*R(1) + normal(2)*R(2) + normal(3)*R(3); % 计算法向量和反射方向的点积L(i,:) = 2*NR*normal - R; % 根据Lambertian反射模型计算光源方向end% 将新的光源方向写入测试文件fid = fopen('calibratedLight3250.txt', 'w'); % 打开文件以写入if fid == -1error('无法打开文件进行写入。');endfprintf(fid, '%d \n', numLights); % 写入光源数量for row = 1:numLightsfprintf(fid, ' %10.5f %10.5f %10.5f \n', L(row,1), L(row,2), L(row,3)); % 写入光源方向endfclose(fid); % 关闭文件
end

三、实验效果

从四个方向逐次打光逐次采集图像,获得以下四张数据:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

对以上数据进行数据融合并进行二值化操作(参考博客:OpenCV——图像融合)
获得以下数据:
在这里插入图片描述
输出标定矩阵:
在这里插入图片描述

参考:
[1]邓学良,何扬波,周建丰.基于光度立体的三维重建方法综述[J].现代计算机,2021,27(23):133-143.
[2]丁斌杰.面向工业场景的光度立体重建方法研究[D].浙江大学,2023.002432.
[3]基于光度立体视觉的三维重建方法
[4]Photometric Stereo 光度立体三维重建(四)——光源标定

http://www.dtcms.com/wzjs/193639.html

相关文章:

  • 深圳市手机网站建设企业百度平台商家客服
  • 做网站付款方式培训心得体会2000字
  • 淘宝客自己做网站北京搜索优化排名公司
  • 做网站导流新闻头条新闻
  • 开网站公司怎么样优化关键词排名
  • 电子商务网站建设总结报告百度指数排行榜
  • 微信手机网站支付怎么做seo是怎么优化推广的
  • 云南安宁做网站的公司西安网络推广
  • seo品牌优化百度资源网站推广关键词排名企业所得税优惠政策
  • 从来没做过网站如何做谷歌浏览器官网下载
  • 珠海网站推广公司深圳全网推广
  • 建设网站模板下载关键词优化方法
  • 网站开发 图片服务器爱站工具包的模块
  • 网站怎么做本地测试工具图片扫一扫在线识别照片
  • 做网站的工作要求百度竞价推广价格
  • 怎么查网站的icp备案品牌营销案例分析
  • 剑三做月饼活动网站自媒体发布软件app
  • 如何传图片做网站b2b平台都有哪些网站
  • wordpress建站网站报错亚马逊关键词排名查询工具
  • 怎么加入网站做微商城地推放单平台
  • 吉林网站建设电话百度搜索广告怎么投放
  • 网站后台管理怎么进seo专业培训课程
  • wordpress注册qq邮箱配置手机优化大师为什么扣钱
  • 大连外贸网站建设百度权重1
  • 中国企业网官方网站下载网络营销一般月薪多少
  • 彩票网站是怎么做的域名注册新网
  • 网站维护界面设计网上有免费的网站吗
  • 北京网站开发专员免费申请网站com域名
  • 福州网站设计外包推广方案的内容有哪些
  • 广州市幼儿师范学校外链seo招聘