반응형

C 135

내장된 가우스 기능을 사용하지 않고 이미지를 흐리게 하는 방법은 무엇입니까?

내장된 가우스 기능을 사용하지 않고 이미지를 흐리게 하는 방법은 무엇입니까? 네이티브 가우스 블러 공식을 사용하여 이미지를 흐리게 하고 싶다.Wikipedia 기사를 읽었는데 어떻게 구현해야 할지 모르겠어요. 공식을 사용하여 무게를 결정하려면 어떻게 해야 합니까? MATLAB에서 제공하는 것과 같은 내장 기능을 사용하고 싶지 않습니다.순진한 가우스 흐릿한 글씨를 쓰는 것은 사실 꽤 쉽습니다.이것은 다른 컨볼루션필터와 같은 방법으로 이루어집니다.상자와 가우스 필터의 유일한 차이점은 사용하는 매트릭스입니다. 다음과 같이 정의된 이미지가 있다고 가정합니다. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ..

programing 2022.10.30

TCHAR은 아직 관련이 있습니까?

TCHAR은 아직 관련이 있습니까? Windows 프로그래밍은 처음이라 Petzold 책을 읽은 후 다음과 같이 생각합니다. 이 기능을 사용하는 것은 여전히 좋은 관행입니까?TCHAR타입과_T()스트링을 선언하는 함수 또는 단순히 명령어를 사용해야 하는지wchar_t그리고.L""새 코드로 문자열을 입력하시겠습니까? Windows 2000 이상만 대상으로 하고, 코드는 i18n으로 합니다.간단한 대답은 "아니오"입니다. 이미 작성된 다른 모든 것과 마찬가지로, 많은 프로그래머들이 여전히 TCHAR과 이에 대응하는 함수를 사용하고 있습니다.내 겸손한 의견으로는 그 개념 전체가 나쁜 생각이었다.UTF-16 문자열 처리는 단순한 ASCII/MBCS 문자열 처리와는 크게 다릅니다.양쪽에서 같은 알고리즘/함수를 사..

programing 2022.10.30

C 프로그램을 사용하여 머신의 MAC 주소를 얻는 방법은 무엇입니까?

C 프로그램을 사용하여 머신의 MAC 주소를 얻는 방법은 무엇입니까? 저는 Ubuntu에서 일하고 있습니다.C 프로그램을 사용하여 머신의 MAC 주소 또는 인터페이스 eth0을 취득하려면 어떻게 해야 합니까?머신의 사용 가능한 모든 인터페이스에 대해 반복하여ioctl와 함께SIOCGIFHWADDRflag를 지정하여 MAC 주소를 가져옵니다.MAC 주소는 6 옥텟 바이너리 어레이로 취득됩니다.루프백 인터페이스도 건너뛸 수 있습니다. #include #include #include #include #include int main() { struct ifreq ifr; struct ifconf ifc; char buf[1024]; int success = 0; int sock = socket(AF_INET, ..

programing 2022.09.14

...에 대한 작업이 정의되지 않았을 수 있습니다.

...에 대한 작업이 정의되지 않았을 수 있습니다. 다음과 같은 코드를 가지고 있습니다. FRAME frameArray[5][10]; // Create the array of frames int trackBufferFull[5] = {0, 0, 0, 0, 0};// Keeps track of how full the buffer for each node is int trackFront[5] = {0, 0, 0, 0, 0}; // Array to keep track of which is the front of the array int trackTail[5] = {0, 0, 0, 0, 0}; // Function to add to the array (CHANGE int frame) void addFrame (..

programing 2022.09.13

gdb: "기호 테이블이 로드되지 않았습니다"

gdb: "기호 테이블이 로드되지 않았습니다" gdb에 브레이크 포인트를 추가하려고 하면 이 에러 메세지가 계속 표시됩니다. 다음 명령을 사용하여 컴파일했습니다. gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o 또한 "-g" 대신 "-ggdb"를 사용해도 여전히 오류 메시지가 나타납니다. 다음으로 gdb를 실행합니다. $gdb gdb: (gdb)exec-file main.o (gdb)break 59 No symbol table is loaded. Use the "file" command. 소스 레벨의 디버깅 정보를 생성하는 파라미터 -g를 추가해야..

programing 2022.09.01

C는 왜 ->와 을 구별합니까?

C는 왜 ->와 을 구별합니까? 좋아, 이건 심각한 문제는 아니지만, 한동안 날 괴롭혔어이 둘을 구별하는 이유가 있나요?->그리고..오퍼레이터? 물론, 현재의 규칙은 이다..구조물에 작용합니다.->는, 포인터 투 포인터(또는 조합)로 동작합니다.하지만 실제 작동 방식은 이렇습니다.허락하다s요소를 내포하고 있는 구조이다x, 그리고,ps같은 형태의 구조물에 대한 포인터입니다. 쓰시면 s->x 컴파일러는...의 방해가 되는 경고를 내뱉을 것이다. s.x. 를 다시 입력하고 다시 컴파일해 주세요. 쓰시면 ps.x 컴파일러는...의 방해가 되는 경고를 내뱉을 것이다. ps->x를 말하는 거군요.그것을 다시 입력하고 다시 컴파일하세요. 컴파일러는 이 두 가지 유형을 모두 알고 있기 때문입니다.s그리고.ps컴파일 시..

programing 2022.09.01

C의 파일 설명자에서 파일 이름 검색

C의 파일 설명자에서 파일 이름 검색 파일 디스크립터(Linux)의 파일명을 C로 얻을 수 있습니까?에 사용할 수 있습니다./proc/self/fd/NNN여기서 NNN은 파일 기술자입니다.그러면 파일을 열었을 때와 같은 파일 이름이 표시됩니다.다만, 그 이후에 파일이 이동 또는 삭제되었을 경우, 더 이상 정확하지 않을 수 있습니다(Linux가 이름을 추적할 수 있는 경우도 있습니다).확인하기 위해stat지정된 파일 이름 및fstat가지고 계신 fd가st_dev그리고.st_ino똑같아요. 물론 모든 파일 기술자가 파일을 참조하는 것은 아닙니다.파일 기술자의 경우 다음과 같은 이상한 텍스트 문자열을 볼 수 있습니다.pipe:[1538488]실제 파일명은 모두 절대 경로이기 때문에 어느 것이 충분한지 쉽게 판..

programing 2022.09.01

함수에서 구조체를 반환할 때 GCC 버그가 발생할 수 있습니다.

함수에서 구조체를 반환할 때 GCC 버그가 발생할 수 있습니다. O'Neill의 PCG PRNG를 구현하던 중 GCC에서 버그를 발견한 것 같습니다.(Godbolt의 컴파일러 탐색기의 초기 코드) 곱셈 후oldstate타고MULTIPLIER(rdi에 저장된 결과), GCC는 이 결과를 에 추가하지 않습니다.INCREMENT, 무브INCREMENT대신 rdx로 이동합니다.이 값은 rand32_ret.state의 반환값으로 사용됩니다. 재현 가능한 최소한의 예(Compiler Explorer): #include struct retstruct { uint32_t a; uint64_t b; }; struct retstruct fn(uint64_t input) { struct retstruct ret; ret.a..

programing 2022.08.31

C++에서 C로의 이행

C++에서 C로의 이행 몇 년 동안 C++로 코딩한 후, 저는 최근 임베디드 분야의 C에서 코딩 작업을 제안받았습니다. 임베디드 필드에서 C++를 해제하는 것이 옳은지 그른지에 대한 질문은 차치하고라도 C++에는 많은 기능/이념이 있습니다.몇 가지 예를 들자면: 범용 타입 세이프 데이터 구조(템플릿 사용) RAII. 특히 여러 개의 리턴 포인트가 있는 기능에서는 각 리턴 포인트에서 뮤텍스를 해제할 필요가 없습니다. 일반적으로 파괴자들입니다.즉, MyClass에 대해 d'tor를 한 번 쓰면 MyClass 인스턴스가 MyOtherClass의 멤버인 경우 MyOtherClass 인스턴스의 초기화를 명시적으로 해제할 필요가 없으며 자동으로 d'tor가 호출됩니다. 네임스페이스 C++ C는 C++로 되어 있나요..

programing 2022.08.31

C의 비트 배열 정의 및 조작 방법

C의 비트 배열 정의 및 조작 방법 0과 1을 쓸 수 있는 매우 큰 배열을 만들고 싶습니다.저는 무작위 순차 흡착이라고 불리는 물리적 과정을 시뮬레이션하려고 합니다. 길이 2의 단위인 이합체가 서로 겹치지 않고 임의의 위치에 있는 n차원 격자에 쌓이는 것입니다.격자 위에 더 많은 이합체를 쌓을 공간이 없어지면(라티스가 막힘) 프로세스가 중지됩니다. 처음에는 0의 격자로 시작하고, 이합체는 '1' 쌍으로 표시됩니다.각 조광체가 퇴적될 때 조광체 좌측의 부위는 겹칠 수 없기 때문에 차단된다.그래서 저는 격자 위에 '1'의 3배를 적어서 이 과정을 시뮬레이트합니다.전체 시뮬레이션을 여러 번 반복한 후 평균 커버리지 %를 계산해야 합니다. 이미 1D 및 2D 격자에 대해 여러 가지 문자를 사용하여 이 작업을 완..

programing 2022.08.30
반응형