import cv2
import numpy
image=cv2.imread("13.jpg")
image=image.astype(numpy.float32)
image=image[:,:,:1]+image[:,:,1:2]+image[:,:,2:3]# 建设一个像素代表实际像素的100000
long_data=100000
cols_list=[]
rows_list=[]
for i in range(image.shape[1]-2):h2=(image[:,i:i+1, :]-image[:,i+1:i+2, :])**2value_av=numpy.sqrt(h2/(h2+long_data))cols_list.append(value_av)
cols_list=numpy.hstack(cols_list)
# 光线的纵向夹角
col=numpy.max(cols_list)
x_max=numpy.argmax(cols_list)//cols_list.shape[1]
y_max=numpy.argmax(cols_list)%cols_list.shape[1]# 色差最大的两个点
for i in range(image.shape[0]-2):h2=(image[i:i+1,:, :]-image[i+1:i+2,:, :])**2value_av=numpy.sqrt(h2/(h2+long_data))rows_list.append(value_av)
rows_list=numpy.vstack(rows_list)
# 光线的横向夹角
row=numpy.max(rows_list)
x__max=numpy.argmax(rows_list)//rows_list.shape[1]
y__max=numpy.argmax(rows_list)%rows_list.shape[1]
# 色差最大的两个点
print(image.shape,x_max,y_max,x__max,y__max,col,row)
image=cv2.imread("13.jpg")
cv2.line(image,(x_max,y_max),(x__max,y__max),5)
cv2.imwrite("131.jpg",image)# 光线的横纵夹角才能代表光作用于三维世界 也就是说光平面代表光的方向,人的眼睛可以虚拟出来光平面
# 可以写作z=ax+by
# 在long_data=1000000实际比例一定的情况先不同的图片的光平面是不一样的也就是col和row不一样
# 然而一般素描图片两个亮度点距离比较远距离比较立体
# 正常相机拍出来的两个点会十分的接近 所以就是个平面
# 所以根据光平面改造图片
# 最适合的两个点就是光平面和sensor焦线上的点,加入x,y坐标形成的面是sensor(可以是图片)(焦线的两端3分之一处)
# 最好是图片的中心作为坐标的中心点 与y的焦点是(图片的一半,-a/b )与x是(-b/a,图片的一半) (负号代表图片的坐下方)这样直接就得出了也不用考虑太多
# 将图片改造参考上面的算法,相邻的点相减,得到h也就是控制相减的h,最后倒退回去,在使用原始图片三个通道的比例分成h即可if __name__ == '__main__':pass同理可以实现多个不同位置的感光最大位置
这样多个图片在像视频一样播放是不是会全息 当然这里使用的是最大
也可以使用平均光平面,还有一个猜想就是一个素描还是普通的图片都是一个光平面,
如果通过上面的方法自定义光平面多个,为一个图片,也是有可能实现全息图片的

计算一个全息图片的两个设想相关推荐

  1. 设计一个类代表二维空间的一个点,设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一 个是半径,提供计算面积的方法。为上述Cricle类添加一个方法,计算一个点(Point)是否在圆内

    (1) 设计一个类代表二维空间的一个点 (2) 设计一个类代表二维空间的一个圆.要求两个成员变量.一个是圆心,一 个是半径,提供计算面积的方法. (3) 为上述Cricle类添加一个方法,计算一个点( ...

  2. 有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字

    有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分.现在,你的程序要根据起始时间和流逝的时间计算出终止时间. 读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表 ...

  3. 请编写一个函数,接收两颗星星赤经和赤纬的角度作为参数,计算并返回这两颗星星所对弧的角度。

    [问题描述] 给定两颗星星的赤经和赤纬的角度 (a1, d1)和(a2, d2) 它们所对弧的角度计算公式为: 赤经a1和a2是 -180o~ 180o 之间的角,a=a2-a1 赤纬d1和d2是 - ...

  4. 如何在一台计算机上使用两个网络,一个宽带如何装两个路由器?这三种方法都可以使用...

    原标题:一个宽带如何装两个路由器?这三种方法都可以使用 实现的方法有三种: 二级路由器.路由器改当交换机.无线桥接这三种,之前我也曾提到过,今天我们再来总结下两台路由器连接的三种方法. 一.无线路由器 ...

  5. Unity从零开始实现一个全息效果Shader

    Unity从零开始实现一个全息效果Shader 前言 开始捣鼓 一.准备阶段 二.先从透明效果开始 三.顶点故障效果 四.扫描线效果 五.菲尼尔反射效果 六.颗粒效果 七.颜色故障效果 CustomE ...

  6. python计算坐标点欧式距离_Python计算一个点到所有点的欧式距离实现方法

    Python计算一个点到所有点的欧式距离实现方法 如下所示: distances = np.sqrt(np.sum(np.asarray(airportPosition - x_vals)**2, a ...

  7. 《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。...

    弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复. [题目] 剑指offer 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. [思路] 直觉 ...

  8. php 最大数字,PHP 计算至少是其他数字两倍的最大数的实现代码

    计算至少是其他数字两倍的最大数 在一个给定的数组nums中,总是存在一个最大元素 . 查找数组中的最大元素是否至少是数组中每个其他数字的两倍. 如果是,则返回最大元素的索引,否则返回-1. 示例 1: ...

  9. 【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

    怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) ...

最新文章

  1. 如何修改maven默认jdk配置
  2. php 系统环境变量引用,PHP 系统变量 环境变量
  3. 时空大数据实践之GeoWave安装部署实践
  4. 使用paintEvent()对窗口进行OpenGL2D绘图
  5. python中不包不包括_Unittest-断言列表中的一组项包含在(或不包含在)另一个lis中...
  6. Hibernate 查询数据
  7. 1900页Python系列PPT分享七:文件操作(132页)
  8. FFMpeg,SDL编译 No avaiable video device
  9. ge linux安装apt_教你如何在 Linux 中使用 apt 命令
  10. HTML data-* 自定义属性
  11. 全国计算机office二级考试内容,2017年国家计算机二级office考试内容
  12. SpringBoot项目整合JasperReport报表生成PDF并下载
  13. 短视频剪辑怎么自学?短视频剪辑的教程分享
  14. 网络计算机要不要用电脑,电脑连不上网怎么办 电脑连不上网解决方法
  15. 《Windows 8 权威指南》——2.9 轻松为Windows 8 Metro开始屏幕增加关机/重启等应用...
  16. Keil5 安装使用
  17. 数据结构实验六 图的操作实现
  18. QQ2006 界面编程之鸡蛋里挑骨头
  19. 仿ios桌面vivo_安卓仿ios12桌面全套仿安卓完美版
  20. Windowns教育版、家庭版转专业版

热门文章

  1. docker run 挂载卷_如何在构建期间将主机卷挂载到Dockerfile中的Docker容器中
  2. linux 命令 kps,10个LINUX命令 超好用
  3. 计算机网络实验socket编程,计算机网络实验 socket编程
  4. php中控制面板折叠,微信小程序折叠面板的实现方法示例
  5. NETCONF 环境搭建
  6. win10 Linux子系统 交叉编译器注意事项
  7. mysql必知必会看完看什么_《MySQL必知必会》读书笔记
  8. 华为老机器可以升级鸿蒙,鸿蒙OS手机将至,华为手机用户提问,老款机器能升级吗?...
  9. 【 C 】动态内存分配实用案例(一)之读取、排序和打印一列整形值
  10. 雅克比(Jacobi)迭代法求解线性方程组