데이터베이스의 이미지와 비교하는 가장 좋은 방법은 무엇입니까? 난 (@image가 입력 이미지이다)들을 비교하는 시도 :SQL의 이미지 비교
Select * from Photos
where [Photo] = @Image
를 있지만 오류 '데이터 유형 이미지 및 이미지가 운전자에게 동등의 양립 "을 수신한다.
데이터베이스의 이미지와 비교하는 가장 좋은 방법은 무엇입니까? 난 (@image가 입력 이미지이다)들을 비교하는 시도 :SQL의 이미지 비교
Select * from Photos
where [Photo] = @Image
를 있지만 오류 '데이터 유형 이미지 및 이미지가 운전자에게 동등의 양립 "을 수신한다.
이미지 데이터 형식이 바이너리이며 IMO 데이터 저장 공간이 크기 때문에 이미지 필드를 비교하는 가장 쉬운 방법은 해시 비교입니다. 그래서 사진 열의 해시를 테이블에 저장해야합니다.
이미지를 비교해야하는 경우 데이터베이스의 모든 이미지를 검색하고 데이터베이스에 액세스하는 데 사용하는 언어로 이미지를 검색해야합니다. 이것이 관계형 데이터베이스에 이미지 나 다른 바이너리 파일을 저장하는 것이 좋지 않은 이유 중 하나입니다. 데이터베이스에 이미지를 저장할 때마다 고유 한 파일 이름을 만들어야합니다. 이 고유 한 파일 이름으로 파일의 이름을 바꾸고 이미지를 디스크에 저장하고 데이터베이스에 이름을 넣은 다음 파일의 원래 이름이나 응용 프로그램 사용자가 제공 한 이름을 삽입하십시오.
얼마나 정확하고 얼마나 많은 이미지를 비교해야하는지에 따라 다릅니다. DATALENGTH 및 SUBSTRING 또는 READTEXT와 같은 다양한 기능을 사용하여 몇 가지 비교를 수행 할 수 있습니다. 또는 CLR에 코드를 작성하고 비교를 위해 저장 프로 시저를 통해 구현할 수 있습니다.
이미지는 이러한 방식으로 비교 될 수 없습니다. 바이너리 데이터 만이 아닙니다. 그 이상입니다 .. 이미지 처리 –
혹시 이것을 시도한 적이 있습니까? 내 대답 전체를 읽었 니? –
이미지 비교는 이미지 처리라고하는 컴퓨터 과학의 특정 범주에 속합니다. 이미지 처리 기능을 제공하는 일부 라이브러리를 검색해야합니다. 이를 사용하여 두 이미지가 동일하거나 동일 할 때 어떤 비율을 비교할 수 있는지를 알 수 있습니다. 50 % 또는 그 이하까지 서로 일치하는 2 개의 이미지를 가질 수 있습니다. 비율을 반환하는 비교 공식을 정의하는 수학적 알고리즘이 있습니다. 이미 언급 된 것 같이이 문제에 더 일을 당신에게 방향을 제공
희망 .. 일반적으로
는, 당신은 이미지 처리 선반에서 전용 알고리즘을 사용합니다.
또한 질문이 너무 일반적이어서 정확한 답변을 제시하기가 어렵습니다. 두 이미지는 속성의 수에 따라 다르거 나 그렇지 않은 것으로 간주 될 수 있습니다.
예를 들어 꽃의 이미지를 100x100 픽셀로, 꽃의 이미지를 50x50 픽셀로 조정할 수 있습니다. 일부 목적 및 응용 프로그램의 경우이 두 요소는 (서로 다른 차원에 관계없이) 비슷한 것으로 간주되지만 다른 용도로는 다른 이미지가됩니다.
어떻게 작동하는지 당신은 이미지 비교는 몇 가지 도구에 의해 실현하는 방법을 확인하고 학습 할 수 있습니다:
당신은 이미지를 비교하지 않으려면 두 개의 이진 스트림 (이미지 파일, 다른 이진 파일, 이미지 내용이있는 이진 객체)이 동일한 지 확인하면 MD5 개의 이미지 체크섬을 비교할 수 있습니다.
디스크에 저장하면 어떻게 비교할 수 있습니까? 당신은 여전히 그것을 할 도구를 작성해야합니다. –
죄송합니다. 파일을 저장하기 전에 을 잊어 버렸습니다. 체크섬을 생성하여 db에 저장할 수 있습니다. 이 데이터는 파일 비교에 사용될 수 있습니다. 다른 접근법은 너무 느릴 것입니다. –