我正在尝试使用new SimpleDateFormat来解析dd-MM格式的字符串。基本上,我想从字符串中创建一个日期对象并保留在数据库中。
当我检查数据库条目时,我看到它将1970追加到year列。我相信这是空时提供的年份的默认值。有没有一种方法可以防止年份值。我不想存储有关年份的信息。
我的代码-
String dateOfBirth = "14-Feb";
dbObject.save(new SimpleDateFormat("dd-MMM").parse(dateOfBirth));
Run Code Online (Sandbox Code Playgroud)
为了简单起见,假设dbObject.save()该方法期望提供日期对象。我不想创建一个值的日期-1970年2月14日,相反它应该只是14年2月。
我正在尝试将图像中的缓冲区数据上传到 S3。它上传得很好。但是当我尝试在 S3 中下载/查看图像时,它会引发错误。我尝试了以下 -
let image = { "type": "Buffer", "data": [45, 45, 45....]
let buf = new Buffer(image )
let params = {
Bucket: "bucketName",
Key: "TestImage123haha.PNG",
Body: buf ,
ACL: 'public-read',
ContentType: 'image/jpeg'
};
s3.upload(params, function(err, data) {
if (err) {
console.log('ERROR MSG: ', err);
} else {
console.log('Successfully uploaded data' + data.Location);
}
})Run Code Online (Sandbox Code Playgroud)
buf在控制台中,这就是我得到的 -我试图通过执行Canny边缘检测来提取图像的一部分.我成功地创建了该对象的蒙版.但是当我bitwise_and用原始图像执行操作时,为了提取前景部分,我收到以下错误.
OpenCV Error: Assertion failed ((mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1)) in cv::binary_op, file C:\projects\opencv-python\opencv\modules\core\src\arithm.cpp, line 241
Traceback (most recent call last):
File "C:\Users\Boudhayan Dev\Desktop\extraction.py", line 37, in <module>
new_image = cv2.bitwise_and(img_rgb,img_rgb,mask=mask)
cv2.error: C:\projects\opencv-python\opencv\modules\core\src\arithm.cpp:241: error: (-215) (mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function cv::binary_op
Run Code Online (Sandbox Code Playgroud)
我的代码如下 -
import cv2
import numpy as np
img_rgb = cv2.imread("3.jpg")
cv2.namedWindow("Original Image",cv2.WINDOW_NORMAL)
img = cv2.cvtColor(img_rgb,cv2.COLOR_RGB2HSV)
img = cv2.bilateralFilter(img,9,105,105)
r,g,b=cv2.split(img)
equalize1= cv2.equalizeHist(r)
equalize2= cv2.equalizeHist(g)
equalize3= cv2.equalizeHist(b)
equalize=cv2.merge((r,g,b)) …Run Code Online (Sandbox Code Playgroud) 我有一个用例,我想显示实体的内容但隐藏某些字段。我的实体如下 -
实体
public class StudentDetail {
@Id
private Long ID;
private String firstName;
private String middleName;
private String lastName;
@JsonFormat(pattern="dd-MMM-yyyy", timezone="IST")
@Temporal(TemporalType.DATE)
private Date dateOfBirth;
}
Run Code Online (Sandbox Code Playgroud)
它还有许多其他属性,我在这里没有展示。
存储库-
@Repository
public interface StudentDetailsRepository extends JpaRepository<StudentDetail, Integer> {
@Query("select d from StudentDetail d where month(d.dateOfBirth) = ?1 ")
List<StudentDetail> getStudentListBasedOnDateOfBirth(int month);
}
Run Code Online (Sandbox Code Playgroud)
服务等级-
public List<StudentDetail> getStudentBirthdayDetails(int month) {
List<StudentDetail> StudentDetail = StudentDetailsRepository.getStudentListBasedOnDateOfBirth(month);
return StudentDetail;
}
Run Code Online (Sandbox Code Playgroud)
还有一个控制器类,它通过month参数调用 Service 类来过滤数据集。
我想要做的是修改 Repository 类中的查询并仅包含firstname,middleName和lastName属性。Repository 类应该隐藏该dateOfBirth …
我无权访问任何请求对象(Express/NodeJS)。我只有这个响应对象,我想解析并提取它的二进制部分。
编辑-
为了让事情更清楚 -
我有一个端点(不是传统的 Express 应用程序,而是 FaaS) - 称为“/fileUpload”
该端点接受所有类型的请求 - GET、POST、PUT (FaaS)。
当我在表单数据中使用文件发出 POST/PUT 请求时testImage.PNG,我会收到请求对象中的内容。FaaS 运行时提供 req 对象作为函数处理程序的参数。
现在,当我打印传入 POST 请求的 request.body 时,我得到的内容如上图所示。
如果我尝试将此二进制内容直接上传到 S3,则会导致图像损坏,我认为这是由于多部分响应中存在其他内容,例如 - Content-Disposition...
我想做的是,解析附加的多部分内容,例如 Content-Type 标头和多部分边界等,以便我只获得图像二进制文件。
我正在开发一个使用 Raspberry Pi 的漫游车,它可以清扫房间并捡起掉在地上的物体。为了检测物体,我使用了一个参考 Image ,它是在漫游者操作开始时拍摄的,以及一个每 10 秒点击一次的 Image(新图像)。为了确定图像帧中是否有变化,我在参考图像和新图像之间进行了图像减法。如果发现任何差异,它会在其周围绘制轮廓,如果轮廓面积大于某个阈值(注意步骤),则得出结论存在对象。
我正在使用以下代码 -
import numpy as np
import cv2,time
img=cv2.imread("object1.jpg")
img1=cv2.imread("object2.jpg")
sub=cv2.subtract(img,img1)
gray=cv2.cvtColor(sub,cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray,(3,3),0)
_, contours, _= cv2.findContours(blur,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
c=max(contours,key=cv2.contourArea)
print(cv2.contourArea(c))
if cv2.contourArea>20000:
print("Object detected !")
Run Code Online (Sandbox Code Playgroud)
上面的代码仅使用 2 张图像来计算它们的差异并确定是否存在对象。请注意,我没有在此处发布将在我的项目中使用的原始代码。
现在,上面的代码适用于非常可控的情况,例如,当图像背景非常恒定或其中没有阴影时。但考虑到漫游车将在房间内四处移动,即使画面中没有真实物体,光照变化也有可能触发错误的物体检测。差异可能是由于阴影效果的虚假轮廓而触发的。
我想知道,是否有任何其他方法可以在不进行前景/背景图像减法的情况下实现此对象检测。我也考虑过使用超声波传感器来检测物体的存在,但这不是一个非常可靠的选择。我更喜欢基于图像处理的解决方案。
谢谢你 。
================================================== ========================
编辑 1 -
所以,我决定稍微改变一下算法。我已经对前景和背景图像进行了阈值处理,然后在二进制图像之间执行了 absdiff ,以获得任何帧更改(对象)。代码如下——
import numpy as np
import cv2,time
img1=cv2.imread("back.jpeg")
blur1 = cv2.GaussianBlur(img1,(5,5),0)
gray1=cv2.cvtColor(blur1,cv2.COLOR_BGR2GRAY)
ret,thresh1 = cv2.threshold(gray1,65,255,cv2.THRESH_BINARY_INV)
img2=cv2.imread("front.jpeg")
blur2 = cv2.GaussianBlur(img2,(5,5),0)
gray2=cv2.cvtColor(blur2,cv2.COLOR_BGR2GRAY)
ret,thresh2 = cv2.threshold(gray2,65,255,cv2.THRESH_BINARY_INV)
diff=cv2.absdiff(thresh2,thresh1)
diff=cv2.bitwise_xor(diff,thresh1)
kernel = np.ones((2,2),np.uint8)
diff=cv2.erode(diff,kernel,iterations = 1) …Run Code Online (Sandbox Code Playgroud) 因此,我一直在尝试在 Jinja2 模板中创建一个全局变量,该变量可在所有循环和块中使用。我正在尝试使用 Jinja2 的命名空间类。但是,我遇到了以下问题。
HTML -
{% set ns = namespace(items=0) %}
{% for line in range(3) %}
{% set ns.items = ns.items + line %}
{% endfor %}
{{ ns.items }}
Run Code Online (Sandbox Code Playgroud)
Python -
@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
@login_required
def index():
return render_template('index_test.html')
Run Code Online (Sandbox Code Playgroud)
错误-
jinja2.exceptions.TemplateSyntaxError
jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got '.'
Traceback (most recent call last)
File "d:\python\lib\site-packages\flask\app.py", line 1997, in __call__
return self.wsgi_app(environ, start_response)
File "d:\python\lib\site-packages\flask\app.py", line 1985, in wsgi_app
response = self.handle_exception(e) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 JavaScript 中的 new 关键字实例化构造函数。然而,它并没有按预期工作——
var a = function () {
abc = function () {
return "abc";
}
}
var obj = new a();
Run Code Online (Sandbox Code Playgroud)
如果我做 -
obj.a();。它说 -
Uncaught TypeError: obj.abc is not a function
Run Code Online (Sandbox Code Playgroud)
但如果我只是在没有对象的情况下访问它obj,它就可以工作
abc();
Run Code Online (Sandbox Code Playgroud)
this但如果我使用内部函数,整个问题就解决了-
var a = function () {
this.abc = function () {
return "abc";
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如果我声明时abc()没有“this”关键字,那么它的作用域不在函数内a。为什么在函数内部声明它时会被视为全局函数a?