xiaoxie0001 发表于 2024-12-13 15:22

c6678图像处理实时性问题求助

<p>我用c6678板卡处理图像,读取图像用时非常长(官方的例程以及jpeglib库读取图像像素值均是如此),程序中没有其他任何相关操作,仅仅将300*300灰度图像的灰度值读入一个buffer中就需要约一分钟,请问读取灰度值时如何加速</p>

tagetage 发表于 2024-12-13 16:57

<p>这芯片处理速度都是毫秒单位,你的是秒为单位,肯定不对啊,没用过这个芯片。帮你找了2个链接,你看看有没有参考。</p>

<p>https://blog.csdn.net/bjtuwayne/article/details/71336139</p>

<p>https://blog.csdn.net/kunkliu/article/details/106576645</p>

xiaoxie0001 发表于 2024-12-14 10:04

tagetage 发表于 2024-12-13 16:57
这芯片处理速度都是毫秒单位,你的是秒为单位,肯定不对啊,没用过这个芯片。帮你找了2个链接,你看看有没 ...

<p>谢谢您的回复,我刚接触嵌入式,也觉得很奇怪,我确确实实什么也没有做,仅仅是读取一张小分辨率图像就需要近一分钟,我看您发的帖子是多核处理,我只用了一个核,也许是这个缘故。另外我想问一下这个是否和时钟频率有关呢,我用的这款芯片主频能达到1000Mhz,实际上我测试时钟周期大概只有15Mhz</p>

tagetage 发表于 2024-12-14 12:16

xiaoxie0001 发表于 2024-12-14 10:04
谢谢您的回复,我刚接触嵌入式,也觉得很奇怪,我确确实实什么也没有做,仅仅是读取一张小分辨率图像就需 ...

<p>就是一个核处理也不能像你说的那么慢,和时钟频率当然关系大了。15Mhz肯定不对,最起码跑到几百兆啊。。你先查查时钟的问题,把时钟给弄正常了。。</p>

xiaoxie0001 发表于 2024-12-14 12:32

tagetage 发表于 2024-12-14 12:16
就是一个核处理也不能像你说的那么慢,和时钟频率当然关系大了。15Mhz肯定不对,最起码跑到几百兆啊。。 ...

<p>感谢您的答复</p>

xiaoxie0001 发表于 2024-12-16 15:56

2024.12.16更新记录:通过打断点测试时钟计数个数,发现处理一张300*300的灰度图像约60ms(单核),然后过了十几秒才printf在控制台上,目前不知道是否是打印函数有延迟

tagetage 发表于 2024-12-17 17:14

<div class='shownolgin' data-isdigest='no'>xiaoxie0001 发表于 2024-12-16 15:56
2024.12.16更新记录:通过打断点测试时钟计数个数,发现处理一张300*300的灰度图像约60ms(单核),然后过 ...

<p>发现处理一张300*300的灰度图像约60ms(单核),---------这芯片处理速度都是毫秒单位,这个处理速度是正确的。你排查软件的能力还是很好的,方向是正确的,,继续更新记录啊。。</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

xiaoxie0001 发表于 2024-12-19 09:50

<div class='shownolgin' data-isdigest='no'>2024.12.19更新记录:想要进一步提升处理速度,思路是将一张图像分成多份,每份交给c6678一个核处理,不太了解多核处理的流程核和方法,网上查阅资料</div><script>showreplylogin();</script>

xiaoxie0001 发表于 2024-12-31 13:47

<div class='shownolgin' data-isdigest='no'><table cellpadding="0" cellspacing="0">
        <tbody>
                <tr>
                        <td id="postmessage_3382265">
                        <p>2024.12.31更新记录:使用OpenMP进行多核图像处理,令人困惑的是多核状态下居然比单核所用时间要长。经过多次排查测试,发现如下问题:</p>

                        <p>1、printf函数对时间测试影响极大,尤其在多核状态下,可能会出现输出混乱的问题</p>

                        <p>2、当循环中只存在普通变量(例如 int类型变量),并在用不同的核进行操作时,那么核越多,所需时间越少</p>

                        <p>3、当循环中对数组进行操作,随着核数目增加,所用时间先增加后减少,具体来讲,两个核所用时间大于一个核,当核数目大于2时,核越多,所需时间越少,然而需要核数目大于3时,所用时间才开始小于单核耗时</p>

                        <p>4、当处理大分辨率图像时(3072*4096),核越多,耗时越小,并不存在耗时随着核数目增加而先增加后减小的情况</p>
                        </td>
                </tr>
        </tbody>
</table>
</div><script>showreplylogin();</script>
页: [1]
查看完整版本: c6678图像处理实时性问题求助