socket-Socket+opencv发送图片问题

问题描述

Socket+opencv发送图片问题

客户端:
IplImage src = cvLoadImage("2.jpg");
IpImage Send=*src;
send(sockClient, (char
)&Send, sizeof(Send)+1, 0);

服务端:
char tempBuf[10000];
recv(sockConn, tempBuf, 10000, 0);
IpImage recv;
memcpy(&recv, tempBuf, sizeof(tempBuf));
cvShowImage("result", &recv);

客户端没错,服务端到显示图片那里就出错了。总是显示内存错误。
大家有没有好的解决办法呢?

解决方案

客户端那里是*src

解决方案二:

单步调试一下,看看收过来的数据正确不?或者你申请的char 数组不够放

解决方案三:

那估计就是内存申请小了,你先把大小发送过来,完后再new啊

解决方案四:

不是大小的问题,我一张特别特别小的图片也不行。
cvShowImage()就显示内存异常.

但是如果我用cvSaveImage(),得到的图片尺寸是对的,但是完全不对,基本是黑和灰色。

解决方案五:

那你打开图片,完后先show一下,看看打开的图片show出来,对不对?

时间: 2024-11-02 06:50:26

socket-Socket+opencv发送图片问题的相关文章

android开发-想用socket从服务端发送图片到客户端,但一直出错,求原因

问题描述 想用socket从服务端发送图片到客户端,但一直出错,求原因 开发-想用socket从服务端发送图片到客户端,但一直出错,求原因-socket客户端和服务端"> 如图所示,本人新人,求大神解答 解决方案 空指针从无,TestActivity的64行 解决方案二: 空指针 socket 不能执行关闭操作(其实是不能操作任何操作) 最好在操作前增加判断:if(null != socket) {} 在 {} 中做处理. 解决方案三: 应该是创建socket失败了. socket不能放在

PC_android使用socket通信,要求PC服务端发送图片给手机客户端,并在手机显示

问题描述 PC_android使用socket通信,要求PC服务端发送图片给手机客户端,并在手机显示 本人根据"http://sishuok.com/forum/posts/list/1995.html"此网址,做了一个socket通信的例子,但是通信成功了,图片在手机中显示不出来,求解答 解决方案 http://www.cnblogs.com/tt_mc/archive/2010/06/04/1751260.html 解决方案二: http://blog.csdn.net/tobac

网络编程高手请进来,Socket发送图片错误~~~

问题描述 发送端主要代码:#region用Socket发送图片privatevoidtime(objecto){IPAddresssIP=IPAddress.Parse("127.0.0.1");IPEndPointssIP=newIPEndPoint(sIP,8001);Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{s.Connect(sIP,8001);}ca

c语言-socket in c ; 报文传输是什么? socket 怎么传输二进制图片?

问题描述 socket in c : 报文传输是什么? socket 怎么传输二进制图片? 大神能帮帮忙解释解释吗?与结构体传输有关系吗? 二进制图片怎么通过socket传输? 跪求社区情. 解决方案 额,随便了,其实就是发送内存中的数据,你需要提供的仅仅是一个指针和一个长度(指针用于让socket知道从那儿复制,长度让socket知道复制多长) 解决方案二: 基于socket的图片传输系统设计 解决方案三: 报文传输的意思就是传输1和0,可以传任何数据,只要编码和解码可以对应起来 解决方案四:

信息通讯-java客户端 c#服务端(同一台电脑)进行socket通讯 客户端发送文本消息到服务端

问题描述 java客户端 c#服务端(同一台电脑)进行socket通讯 客户端发送文本消息到服务端 socket连接部分可以省略 只要客户端的发送数据部分和服务端的接收数据部分我主要不知道java和C#的字符集以及该用什么方法比较好 解决方案 C#可以用system.text.encoding命名空间下的Encoding.GetEncoding(字符串编码名).GetBytes/GetString编码解码.其中编码名支持常见的编码,比如utf gb2312 unicode等等. 解决方案二: c

编程-Java与C#用socket通讯 只求发送数据部分和数据接收部分(发送简单的文本信息)

问题描述 Java与C#用socket通讯 只求发送数据部分和数据接收部分(发送简单的文本信息) 只求发送数据部分和数据接收部分 TCP连接不要 客户端和服务器响应次数也不要 只求发送数据部分和数据接收部分(java发送c#接收) 解决方案 server: Java code public void handleConnection(Socket connection) { System.out.println("客户:" + connection.getInetAddress() +

android-求教:Android socket通信,发送多条,下面是代码

问题描述 求教:Android socket通信,发送多条,下面是代码 个人写了一个Android Socket的简单通信代码,就是客户端往服务端发送两条数据,但是服务端在接收第二条数据的时候提示socket已关闭连接 客户端代码: Socket socket = new Socket("192.168.56.1", 8888); DataOutputStream dos=new DataOutputStream(socket.getOutputStream()); dos.write

一个多线程,SOCKET连接与发送数据的例子。

问题描述 http://download.csdn.net/source/435508一个多线程,SOCKET连接与发送数据的例子. 解决方案 解决方案二:这个简单啊,网上搜一下就得到答案了.

串口通信-Java通过得到的Socket流向串口发送数据

问题描述 Java通过得到的Socket流向串口发送数据 我是一个菜鸟,最近学习Java ,写了个向串口发送数据的代码,有点问题,希望各位大神给指点指点 package server; import gnu.io.CommPortIdentifier; import gnu.io.PortInUseException; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventLis