# I would like to display a image that is loaded in memory

**URL:** <https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124>\
**Category:** Uncategorized\
**Tags:** programming\
**Created:** [July 14, 2025, 7:37pm UTC](https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124 "2025-07-14T19:37:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![golson](https://avatars.discourse-cdn.com/v4/letter/g/e19b73/32.png) [@golson](https://forum.opencv.org/u/golson)\
**Post date:** [July 14, 2025, 7:37pm UTC](https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124/1 "2025-07-14T19:37:43Z")

</div>

Hi,  
I would like to use TCPIP or UDP to send a JPEG file to the computer. I would like to grab the data in memory and display it. using client/server communications. Can I do that. Or do I have to write to the hard drive as a file then to imread to display the image.  
I am very inexperienced with OpenCV. I would like to do this in C++.  
Thank You,  
Gary

---

<div class="post-metadata">

**Author:** ![crackwitz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/crackwitz/32/14_2.png) [@crackwitz](https://forum.opencv.org/u/crackwitz)\
**Post date:** [July 14, 2025, 8:53pm UTC](https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124/2 "2025-07-14T20:53:13Z")

</div>

> [@golson](#):
>
> Can I do that

Yes you can do that.

---

<div class="post-metadata">

**Author:** ![sturkmen](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/sturkmen/32/13_2.png) [@sturkmen](https://forum.opencv.org/u/sturkmen)\
**Post date:** [July 15, 2025, 8:32am UTC](https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124/3 "2025-07-15T08:32:09Z")

</div>

chatGPT gives sample code  
**Sender (server)**

```auto
#include <opencv2/opencv.hpp>
#include <asio.hpp> // single‑header Asio stand‑alone
using asio::ip::tcp;

int main() {
    cv::Mat img = cv::imread("frame.jpg", cv::IMREAD_COLOR);
    std::vector<uchar> buf;
    cv::imencode(".jpg", img, buf);

    asio::io_context io;
    tcp::acceptor acc(io, tcp::endpoint(tcp::v4(), 5000));
    tcp::socket sock(io);
    acc.accept(sock);

    // send size prefix (uint32_t, network byte order) then payload
    uint32_t n = htonl(static_cast<uint32_t>(buf.size()));
    asio::write(sock, asio::buffer(&n, sizeof n));
    asio::write(sock, asio::buffer(buf));
}

```

**Receiver (client)**

```auto
#include <opencv2/opencv.hpp>
#include <asio.hpp>
using asio::ip::tcp;

int main() {
    asio::io_context io;
    tcp::socket sock(io);
    sock.connect({asio::ip::make_address("127.0.0.1"), 5000});

    uint32_t n_net; // read size prefix
    asio::read(sock, asio::buffer(&n_net, sizeof n_net));
    uint32_t n = ntohl(n_net);

    std::vector<uchar> buf(n);
    asio::read(sock, asio::buffer(buf)); // read JPEG bytes

    cv::Mat img = cv::imdecode(buf, cv::IMREAD_COLOR);
    cv::imshow("JPEG from RAM", img);
    cv::waitKey();
}

```

---

<div class="post-metadata">

**Author:** ![crackwitz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opencv.org/crackwitz/32/14_2.png) [@crackwitz](https://forum.opencv.org/u/crackwitz)\
**Post date:** [July 15, 2025, 9:35am UTC](https://forum.opencv.org/t/i-would-like-to-display-a-image-that-is-loaded-in-memory/23124/4 "2025-07-15T09:35:28Z")

</div>

> [@sturkmen](#):
>
> ```auto
> cv::Mat img = cv::imread("frame.jpg", cv::IMREAD_COLOR);
> std::vector<uchar> buf;
> cv::imencode(".jpg", img, buf);
> 
> ```

if the source is a file, that (decoding and encoding) can be reduced to simply reading the file into the buffer, _without_ imread and imencode.
