[IE技巧] 使IE8以单进程的模式运行

本文介绍了IE8的Loosely-Coupled IE特性,即每个选项卡在独立进程中运行,以提高稳定性和安全性。当一个Tab崩溃时,不会影响其他Tab或主窗口。在Windows Vista和7下,Tab进程以Low Integrity Level运行,增强了安全性。然而,若要关闭此功能,可以通过修改注册表在HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main下创建DWORD值TabProcGrowth并设为0,从而使IE8运行在单进程模式。请注意,该操作可能导致失去某些安全性保护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IE8的一个重要特性就是每个Tab(选项卡)在独立的进程中运行,我们称之为LCIE (Loosely-Coupled IE)。 所以大家在升级到IE8之后会发现资源管理器里面有两个或者多个iexplore.exe进程

 

LCIE 的好处在:

1)某个Tab 崩溃(crash)之后不会影响其他Tab 和IE主窗口

2)Tab 进程在Vista 和Windows 7 下面以 Low Integrity Level 运行,这种进程基本上无法对系统进行任何读写操作,可以严格把病毒木马拒之门外。 这也就是大家所谓的"沙盘"技术。 插一句题外话:)  很多人认为"沙盘"技术是Google Chrome 独创的,其实早在3年前的IE7就有这个功能了。

 

如果想要在IE8中关闭LCIE功能,使IE8以单个进程模式运行(IE8主窗口以及所有的Tab都在一个iexplore.exe进程), 可以通过设置注册表:

 

1)在 HKEY_CURRENT_USER/Software

<think>嗯,用户现在想了解如何在OpenMV中通过像素点坐标计算比例系数k,来实现舵机控制。我之前已经解释过比例系数k的理论计算和实验方法,但用户现在结合了具体的OpenMV平台,可能需要更具体的步骤。 首先,用户引用的内容提到他们使用OpenMV的姿态解算算法,并且有PID控制的相关内容。所以可能需要将之前的理论应用到OpenMV的环境中。用户可能已经知道如何获取像素坐标差,但需要具体的转换方法。 用户的问是如何在OpenMV中计算k,可能涉及到摄像头视野和舵机转动角度之间的关系。需要考虑到摄像头的分辨率,比如OpenMV常见的图像尺寸是QVGA(320x240),每个像素对应的物理角度是多少。 可能需要先确定舵机的转动范围,例如舵机在水平方向可以转动180度,对应摄像头视野的某个角度范围。假设水平视野是60度,那么每个像素对应的角度是60/320 ≈ 0.1875度/像素。这时候比例系数k可能就是这个值,或者根据实际调整。 但是用户提到他们直接调用OpenMV的姿态解算算法,可能不需要自己处理四元数或欧拉角,但需要将像素偏差转换为舵机的控制量。可能需要实验调试,比如先设定一个初始k值,然后观察舵机的响应,调整k直到移动稳定。 另外,引用中提到了PID控制,所以在实际应用中可能不只是比例控制,但用户现在只关注k的计算。可能需要分步骤:先确定每个像素对应的角度变化,再通过测试调整k值,避免超调或振荡。 还要考虑OpenMV的具体函数,比如如何获取目标坐标,计算偏移量,然后应用比例系数生成PWM信号。可能需要代码示例,比如读取坐标,计算delta_x,乘以k,然后输出到舵机。 用户可能需要具体的公式和代码片段,比如将偏移量乘以k得到角度,再转换为PWM值。同时,提醒用户进行校准,比如通过实际测量移动一定像素需要的舵机角度变化,来调整k值。 最后,注意用户提到的参考资料中有OpenMV追踪小球的视频,可能可以参考那里的方法,或者结合OpenMV的库函数来简化计算。可能需要强调实验调试的重要性,因为理论计算可能会有误差,实际系统可能有机械延迟等因素。</think>在OpenMV中通过像素点坐标计算比例系数$k$实现舵机控制,需要结合机器视觉坐标系舵机物理运动范围的映射关系。以下是具体实现方法: ### 一、坐标系基础参数设定 1. **图像坐标系** OpenMV默认图像分辨率为$320×240$像素,中心点为$(160,120)$。设目标坐标为$(x_{target},y_{target})$,检测到的物体坐标为$(x_{detect},y_{detect})$,则坐标偏差为: $$ \Delta x = x_{detect} - 160,\quad \Delta y = y_{detect} - 120 $$ 2. **舵机参数** 假设云台舵机角度范围$0^\circ-180^\circ$,对应PWM脉宽范围$500-2500\mu s$。根据OpenMV硬件特性,通常采用$100Hz$ PWM频率。 ### 二、比例系数$k$计算原理 1. **视场角映射** 以OV7725镜头为例,水平视场角$60^\circ$,垂直视场角$49.5^\circ$。每个像素对应角度为: $$ k_x = \frac{60}{320} \approx 0.1875^\circ/\text{pixel},\quad k_y = \frac{49.5}{240} \approx 0.206^\circ/\text{pixel} $$ 2. **动态校准公式** 实际应用中需考虑安装误差,推荐采用标定法: ```python # 标定代码片段 delta_pixel = 50 # 已知像素偏移量 measured_angle = 9.5 # 实际测量舵机转动角度 k_calibrated = measured_angle / delta_pixel # 得到校准后的比例系数 ``` ### 三、OpenMV代码实现 ```python import pyb, sensor, image, time sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time=2000) pan_servo = pyb.Servo(1) # 水平舵机接P7 tilt_servo = pyb.Servo(2) # 垂直舵机接P8 # 通过实验测得比例系数 Kp_x = 0.18 # 水平方向比例系数(度/像素) Kp_y = 0.20 # 垂直方向比例系数(度/像素) def map_angle(value, in_min, in_max, out_min, out_max): return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min while True: img = sensor.snapshot() # 假设已通过算法获取目标坐标(blob.x, blob.y) if blob: dx = blob.cx() - 160 dy = blob.cy() - 120 # 计算角度增量 delta_angle_x = Kp_x * dx delta_angle_y = Kp_y * dy # 转换为PWM信号 current_pan = pan_servo.angle() current_tilt = tilt_servo.angle() new_pan = current_pan + delta_angle_x new_tilt = current_tilt + delta_angle_y # 限制舵机运动范围 new_pan = max(0, min(180, new_pan)) new_tilt = max(0, min(180, new_tilt)) pan_servo.angle(int(new_pan)) tilt_servo.angle(int(new_tilt)) ``` ### 四、优化建议 1. **非线性补偿** 在边缘区域增加补偿系数: ```python if abs(dx) > 100: Kp_x *= 0.8 # 大偏差时减小增益防止振荡 ``` 2. **速度限制** 添加角度变化率限制,参考云台控制中的防抖算法[^3]: ```python MAX_DELTA = 5 # 最大单次角度变化 delta_angle_x = max(-MAX_DELTA, min(MAX_DELTA, delta_angle_x)) ``` 3. **在线调试工具** 使用OpenMV IDE的串口终端实时调整参数: ```python print("Kp_x=%.3f, dx=%d, d_angle=%.1f" % (Kp_x, dx, delta_angle_x)) ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值