const void 포인터에서 메모리 오프셋에 값을 설정하는 방법은 무엇입니까?

야닉 로촌

함수에서 반환 된 포인터가 있습니다.

rs2::video_frame frame = frames.get_color_frame();
const void* data = frame.get_data();

이 포인터가 크기 의 RGB 값 (즉, 3s)의 배열이라는 것을 알고char 있습니다 frame.get_data_size().

주어진 특정 픽셀 색상을 어떻게 수정할 수 있습니까?

int bpp = frame.get_bytes_per_pixel();
int width = frame.get_width();
int height = frame.get_height();

int offset = (y * width * bpp) + (x * bpp);
int r = offset;
int g = offset + 1;
int b = offset + 2;

// ?data[r] = newRed;
// ?data[g] = newGreen;
// ?data[b] = newBlue;
르네 오슈 만

객체 지향 접근 방식을 사용한다면 더 쉬울 것입니다.

struct Pixel {
    short red;
    short green;
    short blue;
};

당신의 프레임은 std::vector<Pixel> pixels; 참조로 반환됩니다.std::vector<Pixel>& get_data();

pixels[y * width + x].red = newRed;
pixels[y * width + x].green = newGreen;
pixels[y * width + x].blue = newBlue;

정말로 함께 일해야한다면 void*이것을 시도하십시오

char* data = static_cast<char*>(const_cast<void*>(dataframe.get_data()));
// Since you also const cast it becomes more and more dangerous. You really need know what you are doing.

size_t bpp = frame.get_bytes_per_pixel();
size_t width = frame.get_width();
size_t height = frame.get_height();

size_t offset = (y * width * bpp) + (x * bpp);
size_t r = offset;
size_t g = offset + 1;
size_t b = offset + 2;

*(data + r) = newRed;
*(data + g) = newGreen;
*(data + b) = newBlue;

대량 업데이트의 경우 memset.

자세한 내용은 https://godbolt.org/z/xvc1xs 를 참조하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 객체 포인터의 const 벡터에 값을 할당하는 방법은 무엇입니까?

분류에서Dev

Kafka Consumer Group에서 오프셋을 임의의 값으로 재설정하는 방법은 무엇입니까?

분류에서Dev

특정 프로세스에 대한 메모리 제한을 설정하는 방법은 무엇입니까?

분류에서Dev

특정 프로세스에 대한 메모리 제한을 설정하는 방법은 무엇입니까?

분류에서Dev

Windows에서 메모리 주소에 저장하는 트랩을 설정하는 방법은 무엇입니까?

분류에서Dev

'설정 오프셋'을 특정 축에 적용하는 방법은 무엇입니까?

분류에서Dev

Java에서 readline으로 오프셋을 설정하는 방법은 무엇입니까?

분류에서Dev

Docker 내부에서 Java 11의 메모리 제한을 설정하는 방법은 무엇입니까?

분류에서Dev

C ++에서 배열 유형을 const 포인터 유형으로 감쇠하는 방법은 무엇입니까?

분류에서Dev

정렬되지 않은 메모리 액세스를 피하기 위해 C에서 포인터 캐스팅을 해결하는 방법은 무엇입니까?

분류에서Dev

void-linux에서 최신 기호 및 이모티콘 지원으로 안정적인 글꼴을 쉽게 설정하는 방법은 무엇입니까?

분류에서Dev

크론 작업에 대한 오프셋을 설정하는 방법은 무엇입니까?

분류에서Dev

CSS 모양에 오프셋 된 윤곽선을 추가하는 방법은 무엇입니까?

분류에서Dev

top 명령에서 메모리 사용량 정렬을 기본값으로 설정하는 방법은 무엇입니까?

분류에서Dev

iframe에서 문자 오프셋을 얻는 방법은 무엇입니까?

분류에서Dev

C에서 void 포인터로 정수를 저장하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

void 포인터에서 유니 코드 char 포인터를 찾는 방법은 무엇입니까?

분류에서Dev

어셈블리에서 호출하는 stat struct에서 필드 오프셋을 결정하는 방법은 무엇입니까?

분류에서Dev

SPSS에서 모든 열 유형과 측정 값을 동시에 설정하는 방법은 무엇입니까?

분류에서Dev

다중 선택에서 "모든 값"을 기본값으로 설정하는 방법은 무엇입니까?

분류에서Dev

모델 값에서 AngularJS 선택 값을 설정하는 방법은 무엇입니까?

분류에서Dev

루비에서 배열의 값을 오프셋하는 방법은 무엇입니까?

분류에서Dev

상수가 아닌 포인터 모음에서 const 포인터를 검색하는 방법은 무엇입니까?

분류에서Dev

봄에 트리 셋 값을 전달하는 방법은 무엇입니까?

분류에서Dev

Android-메뉴 항목에서 접근성 대리인을 설정하는 방법은 무엇입니까?

분류에서Dev

원시 C 힙 메모리 포인터에서 unique_ptr을 초기화하는 방법은 무엇입니까?

분류에서Dev

SQL Server에서 정확한 시간 오프셋을 측정하는 방법은 무엇입니까?

분류에서Dev

어셈블리에 배열 및 포인터 값 입력을 저장하는 방법은 무엇입니까?

분류에서Dev

tkinter slider.set 메서드에서 값을 설정하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    C ++에서 객체 포인터의 const 벡터에 값을 할당하는 방법은 무엇입니까?

  2. 2

    Kafka Consumer Group에서 오프셋을 임의의 값으로 재설정하는 방법은 무엇입니까?

  3. 3

    특정 프로세스에 대한 메모리 제한을 설정하는 방법은 무엇입니까?

  4. 4

    특정 프로세스에 대한 메모리 제한을 설정하는 방법은 무엇입니까?

  5. 5

    Windows에서 메모리 주소에 저장하는 트랩을 설정하는 방법은 무엇입니까?

  6. 6

    '설정 오프셋'을 특정 축에 적용하는 방법은 무엇입니까?

  7. 7

    Java에서 readline으로 오프셋을 설정하는 방법은 무엇입니까?

  8. 8

    Docker 내부에서 Java 11의 메모리 제한을 설정하는 방법은 무엇입니까?

  9. 9

    C ++에서 배열 유형을 const 포인터 유형으로 감쇠하는 방법은 무엇입니까?

  10. 10

    정렬되지 않은 메모리 액세스를 피하기 위해 C에서 포인터 캐스팅을 해결하는 방법은 무엇입니까?

  11. 11

    void-linux에서 최신 기호 및 이모티콘 지원으로 안정적인 글꼴을 쉽게 설정하는 방법은 무엇입니까?

  12. 12

    크론 작업에 대한 오프셋을 설정하는 방법은 무엇입니까?

  13. 13

    CSS 모양에 오프셋 된 윤곽선을 추가하는 방법은 무엇입니까?

  14. 14

    top 명령에서 메모리 사용량 정렬을 기본값으로 설정하는 방법은 무엇입니까?

  15. 15

    iframe에서 문자 오프셋을 얻는 방법은 무엇입니까?

  16. 16

    C에서 void 포인터로 정수를 저장하는 가장 좋은 방법은 무엇입니까?

  17. 17

    void 포인터에서 유니 코드 char 포인터를 찾는 방법은 무엇입니까?

  18. 18

    어셈블리에서 호출하는 stat struct에서 필드 오프셋을 결정하는 방법은 무엇입니까?

  19. 19

    SPSS에서 모든 열 유형과 측정 값을 동시에 설정하는 방법은 무엇입니까?

  20. 20

    다중 선택에서 "모든 값"을 기본값으로 설정하는 방법은 무엇입니까?

  21. 21

    모델 값에서 AngularJS 선택 값을 설정하는 방법은 무엇입니까?

  22. 22

    루비에서 배열의 값을 오프셋하는 방법은 무엇입니까?

  23. 23

    상수가 아닌 포인터 모음에서 const 포인터를 검색하는 방법은 무엇입니까?

  24. 24

    봄에 트리 셋 값을 전달하는 방법은 무엇입니까?

  25. 25

    Android-메뉴 항목에서 접근성 대리인을 설정하는 방법은 무엇입니까?

  26. 26

    원시 C 힙 메모리 포인터에서 unique_ptr을 초기화하는 방법은 무엇입니까?

  27. 27

    SQL Server에서 정확한 시간 오프셋을 측정하는 방법은 무엇입니까?

  28. 28

    어셈블리에 배열 및 포인터 값 입력을 저장하는 방법은 무엇입니까?

  29. 29

    tkinter slider.set 메서드에서 값을 설정하는 방법은 무엇입니까?

뜨겁다태그

보관