我正在尝试使用IP摄像机通过192.168.1.36:8080 url通过opencv(python)检测面部。我可以完美地连接到移动摄像机(Ip摄像机),但是openCV无法检测到面部。 当我使用便携式相机时,除了使用Ip相机外,其他一切都很好,我无法检测到脸部。 这是我的代码:
import dlib
import cv2
detector = dlib.get_frontal_face_detector()
cam = cv2.VideoCapture("http://192.168.1.40:8080")
color_green = (0,255,0)
line_width = 3
while True:
ret_val, img = cam.read()
# rgb_image = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dets = detector(img)
for det in dets:
cv2.rectangle(img,(det.left(), det.top()), (det.right(), det.bottom()), color_green, line_width)
cv2.imshow('my webcam', img)
if cv2.waitKey(1) == 27:
break # esc to quit
cv2.destroyAllWindows()
我收到此错误:
回溯(最近通话最近):文件 “ /home/nima-s-h/PycharmProjects/FaceRecoUsingDlib/FaceDetector.py”, 第14行 cv2.imshow('frame',frame)cv2.error:OpenCV(4.1.0)/io/opencv/modules/highgui/src/window.cpp:352:错误:(-215:断言 失败)函数'imshow'中的size.width> 0 && size.height> 0
答案 0 :(得分:0)
尝试此地址:
package com.example.munaseribrahimewallet;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import org.w3c.dom.Text;
public class PaypalDB extends AppCompatActivity {
private Button btnPaypalLogin;
private EditText editPaypalLogin;
private TextView temail, thomeAddress, tcountry, tcompanyName, tcompanyAddress, tzipcode, tdate, tname, tpaypalEmail;
Member member;
DatabaseReference reff;
String memail, mhomeAddress, mcountry, mcompanyName, mcompanyAddress, mzipcode, mdate, mname, mpaypalEmail, mid;
long maxid = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.paypal_db);
reff = FirebaseDatabase.getInstance().getReference("Members");
editPaypalLogin = (EditText) findViewById(R.id.editPaypalLogin);
btnPaypalLogin = (Button) findViewById(R.id.btnPaypalLogin);
temail= (TextView) findViewById(R.id.txtemail);
thomeAddress= (TextView) findViewById(R.id.txthomeaddress);
tcountry= (TextView) findViewById(R.id.txtcountry);
tcompanyName= (TextView) findViewById(R.id.txtcompanyname);
tzipcode= (TextView) findViewById(R.id.txtzipcode);
tdate= (TextView) findViewById(R.id.txtdate);
tname= (TextView) findViewById(R.id.txtname);
tcompanyAddress = (TextView) findViewById(R.id.txtcompany);
reff = FirebaseDatabase.getInstance().getReference().child("Member");
reff.addValueEventListener(
new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists())
maxid = (dataSnapshot.getChildrenCount());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
btnPaypalLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle extras = getIntent().getExtras();
memail = extras.getString("EXTRA_EMAIL");
mhomeAddress = extras.getString("EXTRA_HOMEADDRESS");
mcountry = extras.getString("EXTRA_SPINNERCOUNTRYTEXT");
mcompanyName = extras.getString("EXTRA_COMPANYNAME");
mcompanyAddress = extras.getString("EXTRA_COMPANYADDRESS");
mzipcode = extras.getString("EXTRA_ZIPCODE");
mdate = extras.getString("EXTRA_DATE");
mname = extras.getString("EXTRA_NAME");
mpaypalEmail = editPaypalLogin.getText().toString();
tcompanyAddress.setText(mcompanyAddress);
tname.setText(mname);
mid = reff.push().getKey();
DatabaseReference dR = FirebaseDatabase.getInstance().getReference("Member").child(mid);
reff.child(mid).setValue(member);
member = new Member(mid, memail, mdate, mhomeAddress, mcountry, mcompanyName, mcompanyAddress, mzipcode, mpaypalEmail, mname);
dR.setValue(member);
}
});
}
}
代替
http://192.168.1.40:8080/abc.mjpg